最新公告
  • 欢迎您光临极客文库,登录获取更多编程学习资源及文章!立即加入我们
  • JDBC Template之基本使用

    JDBC Template基本使用

    execute 方法

    update与batchUpdate方法

    query与queryXXX方法

    call方法

    update方法

    对数据进行增删改操作

    batchUpdate方法

    批量增删改操作

    查询简单数据项

    获取一个

    获取多个

    查询复杂对象(封装为Map)

    获取一个

    获取多个

    查询复杂对象(封装为实体对象)

    RowMapper接口

    获取一个

    获取多个

    代码演示

    import com.jikewenku.sc.entity.Student;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.core.RowMapper;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    public class Test {
        private JdbcTemplate jdbcTemplate;
        {
            ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
            jdbcTemplate = (JdbcTemplate)context.getBean("jdbcTemplate");
        }
    
        public void testExecute(){
            jdbcTemplate.execute("create table user1(id int,name varchar(20))");
        }
    
        public void testUpdate(){
            String sql = "insert into student(name,sex) values(?,?)";
            jdbcTemplate.update(sql,new Object[]{"张飞","男"});
        }
    
        public void testUpdate2(){
            String sql = "update student set sex=? where id=?";
            jdbcTemplate.update(sql,"女",1003);
        }
    
        public void testBatchUpdate(){
            String[] sqls={
                    "insert into student(name,sex) values('关羽','女')",
                    "insert into student(name,sex) values('刘备','男')",
                    "update student set sex='女' where id=2001"
            };
            jdbcTemplate.batchUpdate(sqls);
        }
    
        public void testBatchUpdate2(){
            String sql = "insert into selection(student,course) values(?,?)";
            List list = new ArrayList();
            list.add(new Object[]{1005,1001});
            list.add(new Object[]{1005,1003});
            jdbcTemplate.batchUpdate(sql,list);
        }
    
        public void testQuerySimple1(){
            String sql = "select count(*) from student";
            int count = jdbcTemplate.queryForObject(sql,Integer.class);
            System.out.println(count);
        }
    
        public void testQuerySimple2(){
            String sql = "select name from student where sex=?";
            List names = jdbcTemplate.queryForList(sql,String.class,"女");
            System.out.println(names);
        }
    
        public void testQueryMap1(){
            String sql = "select * from student where id = ?";
            Map stu = jdbcTemplate.queryForMap(sql,1003);
            System.out.println(stu);
        }
    
        public void testQueryMap2(){
            String sql = "select * from student";
            List> stus = jdbcTemplate.queryForList(sql);
            System.out.println(stus);
        }
    
        public void testQueryEntity1(){
            String sql = "select * from student where id = ?";
            Student stu = jdbcTemplate.queryForObject(sql, new StudentRowMapper(), 1004);
            System.out.println(stu);
        }
        @org.junit.Test
        public void testQueryEntity2(){
            String sql = "select * from student";
            List stus = jdbcTemplate.query(sql,new StudentRowMapper());
            System.out.println(stus);
        }
    
        private class StudentRowMapper implements RowMapper{
            public Student mapRow(ResultSet resultSet, int i) throws SQLException {
                Student stu = new Student();
                stu.setId(resultSet.getInt("id"));
                stu.setName(resultSet.getString("name"));
                stu.setSex(resultSet.getString("sex"));
                stu.setBorn(resultSet.getDate("born"));
                return stu;
            }
        }
    }
    
    本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
    极客文库 » JDBC Template之基本使用

    常见问题FAQ

    如果资源链接失效了怎么办?
    本站用户分享的所有资源都有自动备份机制,如果资源链接失效,请联系本站客服QQ:2580505920更新资源地址。
    如果用户分享的资源与描述不符怎么办?
    可以联系客服QQ:2580505920,如果要求合理可以安排退款或者退赞助积分。
    如何分享个人资源获取赞助积分或其他奖励?
    本站用户可以分享自己的资源,但是必须保证资源没有侵权行为。点击个人中心,根据操作填写并上传即可。资源所获收益完全归属上传者,每周可申请提现一次。
    如果您发现了本资源有侵权行为怎么办?
    及时联系客服QQ:2580505920,核实予以删除。

    参与讨论

    • 108会员总数(位)
    • 3700资源总数(个)
    • 5本周发布(个)
    • 2 今日发布(个)
    • 202稳定运行(天)

    欢迎加入「极客文库」,成为原创作者从这里开始!

    立即加入 了解更多
    成为赞助用户享有更多特权立即升级