【Spring学习】之 JdbcTemplate

    xiaoxiao2021-03-26  27

    一、Spring对不同的持久化层技术都进行封装

    二、操作

    1.导包

    2.jdbcTemplateTest1.java

    3.结果

    其他操作

    添加操作

    删除操作

    查询操作

    源代码

    package cn.yyf.jdbc; import org.junit.Test; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.datasource.DriverManagerDataSource; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; /** * Created by Donald on 2017/2/5. */ public class JdbcTemplateDemo1 { //1.添加操作 @Test public void add(){ //设置数据库信息 DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("admin"); //创建jdbcRTemplate对象,设置数据源 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); //调用jdbcTemplate对象里面的方法实现操作 //创建sql语句 String sql = "insert into users values(?, ?, ?, ?, ?, ?)"; int rows = jdbcTemplate.update(sql, 102, "yyf", "haha@163.com", 1, 112, "123"); System.out.println(rows); } //2.update操作 @Test public void update(){ //设置数据库信息 DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("admin"); //创建jdbcRTemplate对象,设置数据源 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); //调用jdbcTemplate对象里面的方法实现操作 //创建sql语句 String sql = "UPDATE users SET passwd=? WHERE id=?"; int rows = jdbcTemplate.update(sql, "456", 102); System.out.println(rows); } //3.delete操作 @Test public void delete(){ //设置数据库信息 DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("admin"); //创建jdbcRTemplate对象,设置数据源 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); //调用jdbcTemplate对象里面的方法实现操作 //创建sql语句 String sql = "DELETE from users WHERE id=?"; int rows = jdbcTemplate.update(sql, 102); System.out.println(rows); } /** * QueryRunner runner = new QueryRuner(datasource); * 返回对象 * runner.query(sql, new BeanHandler<User>(User.class)); * * 返回list集合 * runner.query(sql, new BeanListHander<User>(User.class)) * * 1. 在dbutils时候,有接口ResultSetHandler * dbutils提供了针对不同的结果实现类 * * * 2. jdbcTemplate实现查询,有接口RowMapper, * jdbcTemplate针对这个接口没有提供实现类,得到不同的类型数据需要自己进行数据封装 * * */ //4. select操作 //4.1 查询表有多少条记录 @Test public void select1(){ //设置数据库信息 DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("admin"); //创建jdbcRTemplate对象,设置数据源 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); //调用jdbcTemplate对象里面的方法实现操作 //创建sql语句 String sql = "SELECT count(*) from users"; //调用jdbcTemplate的方法 int count = jdbcTemplate.queryForObject(sql, Integer.class); System.out.println(count); } //4.2 查询对象 @Test public void testObject(){ //设置数据库信息 DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("admin"); //创建jdbcRTemplate对象,设置数据源 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); //调用jdbcTemplate对象里面的方法实现操作 //创建sql语句 String sql = "SELECT * from users WHERE id=?"; //调用jdbcTemplate的方法 //第二个参数是接口RowMapper,需要自己写类实现接口,自己做数据封装 User user = jdbcTemplate.queryForObject(sql, new MyRowMapper(), 100); System.out.println(user); } //4.3 返回List @Test public void testList(){ //设置数据库信息 DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("admin"); //创建jdbcRTemplate对象,设置数据源 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); //调用jdbcTemplate对象里面的方法实现操作 //创建sql语句 String sql = "SELECT * from users "; //调用jdbcTemplate的方法 //第二个参数是接口RowMapper,需要自己写类实现接口,自己做数据封装 List<User> list = jdbcTemplate.query(sql, new MyRowMapper()); System.out.println(list); } } class MyRowMapper implements RowMapper<User> { public User mapRow(ResultSet rs, int num) throws SQLException{ //1.从结果集里面把数据得到 String username = rs.getString("username"); String passwd = rs.getString("passwd"); int id = rs.getInt("id"); String email = rs.getString("email"); int grade = rs.getInt("grade"); String tele = rs.getString("tele"); //2.把得到数据封装到对象里面 User user = new User(); user.setUsername(username); user.setEmail(email); user.setGrade(grade); user.setId(id); user.setPasswd(passwd); user.setTele(tele); return user; } } package cn.yyf.jdbc; /** * Created by Donald on 2017/2/6. */ public class User { private String username; private Integer id; private String email; private Integer grade; private String tele; private String passwd; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Integer getGrade() { return grade; } public void setGrade(Integer grade) { this.grade = grade; } public String getTele() { return tele; } public void setTele(String tele) { this.tele = tele; } public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } @Override public String toString() { return "User{" + "username='" + username + '\'' + ", id=" + id + ", email='" + email + '\'' + ", grade=" + grade + ", tele='" + tele + '\'' + ", passwd='" + passwd + '\'' + '}'; } }
    转载请注明原文地址: https://ju.6miu.com/read-662616.html

    最新回复(0)