zoukankan      html  css  js  c++  java
  • 使用JDBCTemplate执行DQL/DML语句

    package cn.itcast.datasource.jdbctemplate;

    import cn.itcast.domain.User;
    import cn.itcast.utils.JDBCUtils;

    import org.junit.Test;
    import org.springframework.jdbc.core.BeanPropertyRowMapper;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.core.RowMapper;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.List;
    import java.util.Map;

    /**
    * @author newcityman
    * @date 2019/8/17 - 21:05
    */
    public class JdbcTemplateDemo02 {
    /*
    * 根据id号,修改user对象
    * */
    // 获取JdbcTemplate对象
    private JdbcTemplate temp = new JdbcTemplate(JDBCUtils.getDataSource());

    @Test
    public void test01() {
    // 定义sql
    String sql = "update user set name=?,email=?,tel=? where id=?";
    // 执行sql语句
    int i = temp.update(sql, "light", "23235@qq.com", "13770578331", 3);
    // 判断执行结果
    if (i > 0) {
    System.out.println("数据修改成功");
    } else {
    System.out.println("数据修改失败");
    }
    }

    /*
    * 添加一条记录
    * */
    @Test
    public void test02() {
    // 定义sql
    String sql = "insert into user(id,name,email,tel) values(null,?,?,?)";
    // 执行sql语句
    int i = temp.update(sql, "小猪", "3254@qq.com", "177025874");
    // 判断执行结果
    if (i > 0) {
    System.out.println("数据添加成功");
    } else {
    System.out.println("数据添加失败");
    }
    }

    /*
    * 删除id=7的记录
    * */

    @Test
    public void test03() {
    // 定义sql语句
    String sql = "delete from user where id=?";
    // 执行sql语句
    int i = temp.update(sql, 7);
    // 判断执行结果
    if (i > 0) {
    System.out.println("数据删除成功");
    } else {
    System.out.println("数据删除失败");
    }
    }

    /*
    * 查询指定id的记录,并将其封装为Map集合
    * */
    @Test
    public void test04(){
    // 定义sql
    String sql="select id,name,email,tel from user where id=?";
    Map<String, Object> map = temp.queryForMap(sql, 3);
    System.out.println(map);
    }

    /*
    * 查询所有记录,并将其封装为list集合
    * */
    @Test
    public void test05(){
    String sql="select * from user";
    List<Map<String, Object>> list = temp.queryForList(sql);
    for (Map<String, Object> obj : list) {
    System.out.println(obj);
    }
    }

    /*
    * 查询所有记录,并将其封装为emp对象的集合
    * */
    @Test
    public void test06(){
    String sql ="select id ,name ,email ,tel from user ";

    List<User> list = temp.query(sql, new RowMapper<User>() {
    @Override
    public User mapRow(ResultSet rs, int i) throws SQLException {
    User user = new User();
    int id = rs.getInt("id");
    String name = rs.getString("name");
    String email = rs.getString("email");
    String tel = rs.getString("tel");

    user.setId(id);
    user.setName(name);
    user.setEmail(email);
    user.setTel(tel);

    return user;
    }

    });
    for (User user : list) {
    System.out.println(user);
    }

    }

    /*
    * 查询所有记录,并将其封装为emp对象的集合
    * */
    @Test
    public void test06_2(){
    String sql ="select id ,name ,email ,tel from user ";
    List<User> list = temp.query(sql, new BeanPropertyRowMapper<User>(User.class));

    for (User user : list) {
    System.out.println(user);
    }
    }

    /*
    * 查询所有记录数
    * */
    @Test
    public void test07(){
    String sql ="select count(id) from user";
    Long count = temp.queryForObject(sql, Long.class);
    System.out.println(count);
    }

    }
  • 相关阅读:
    Effective Java:Ch4_Class:Item14_在public类中应该使用访问方法而不是public域
    [置顶] 学习JDK源码:可进一步优化的代码
    [置顶] 学习JDK源码:编程习惯和设计模式
    如何开展软件架构之概念架构
    POJ 3667 & 1823 Hotel (线段树区间合并)
    CF 161D Distance in Tree【树DP】
    BroadcastReceiver基础总结
    OSI七层模型具体解释
    习惯的力量之四理直气壮的借口?
    堆(stack) 之 c 和 c++模板实现(空类默认成员函数 初谈引用 内联函数)
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11370872.html
Copyright © 2011-2022 走看看