本文共 3375 字,大约阅读时间需要 11 分钟。
Spring是一个一站式应用开发框架,旨在简化Java开发中的配置管理和依赖注入。它遵循工厂模式,通过分层结构为应用程序提供支持。Spring框架主要包括以下几个核心模块:
JdbcTemplate是Spring框架提供的一个强大工具,它通过对 JDBC进行封装,使得代码更加简洁高效。以下是JdbcTemplate与JDBC的主要区别:
使用JdbcTemplate前,需要导入以下JAR包:
在开发环境中,首先需要创建一个新的数据库,并设置以下参数:
springutf8root创建完成后,需要在数据库中创建一个用户表,字段包括id、username和password。
以下是一个简单的JDBC操作示例,使用JdbcTemplate进行增删改查:
public class JdbcTemplateDemo1 { @Test public void saveUser() { // 1. 创建数据源 DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/spring?useUnicode=true&characterEncoding=utf8"); dataSource.setUsername("root"); dataSource.setPassword(""); // 2. 创建JdbcTemplate对象 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); // 3. 执行数据库操作 String sql = "insert into user values(?,?,?)"; int rows = jdbcTemplate.update(sql, 1, "刘言曌", "123456"); System.out.println("插入结果:" + rows); } // 更新操作 @Test public void updateUser() { // 同上,跳转至更新操作示例 } // 删除操作 @Test public void removeUser() { // 同上,跳转至删除操作示例 }} JdbcTemplate支持三种类型的查询:
queryForObject方法,返回一个整数。queryForObject与RowMapper接口结合,返回一个对象。queryForList方法,返回一个集合。以下是一个查询单个记录的示例:
public class JdbcTemplateDemo1 { @Test public void getUser() { // 同上,跳转至查询操作示例 }} 以下是一个使用原生JDBC进行查询的示例:
public class JdbcTemplateDemo1 { @Test public void getUserByJDBC() throws SQLException { // 加载驱动 try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/spring?useUnicode=true&characterEncoding=utf8", "root", "" ); // 预编译SQL语句 PreparedStatement ptmt = conn.prepareStatement( "select * from user where username = ?" ); ptmt.setString(1, "刘言曌"); // 执行查询 ResultSet rs = ptmt.executeQuery(); // 遍历结果集 while (rs.next()) { int id = rs.getInt("id"); String username = rs.getString("username"); String password = rs.getString("password"); User user = new User(); user.setId(id); user.setUsername(username); user.setPassword(password); System.out.println(user); } // 关闭资源 rs.close(); ptmt.close(); conn.close(); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } finally { // 关闭连接 } }} commit和rollback方法控制事务。SqlParameterSource接口,支持参数化查询,提升安全性和灵活性。通过合理使用JdbcTemplate,开发者可以显著简化数据库操作,提高开发效率。
转载地址:http://mvuu.baihongyu.com/