JDBCTemplate-执行DML语句和执行DQL语句
JDBCTemplate-执行DML语句
需求:
定义成员变量
//1、获取JDBCTemplate对象 private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
1.修改1号数据的salary为10000;
/** * 1.修改1号数据的salary为10000; */ @Test public void test1(){ //2、定义sql String sql = "update emp set salary = 10000 where id = 1001"; //3、执行sql int count = template.update(sql); System.out.println(count); }
2.添加一条记录
/** * 2.添加一条记录 */ @Test public void test2(){ String sql = "insert into emp (id,ename,dept_id) values (?,?,?);"; int count = template.update(sql,1015,"郭靖",10); System.out.println(count); }
3.删除刚才添加的记录
/** * 3.删除刚才添加的记录 */ @Test public void test3(){ String sql = "delete from emp where id = ?"; int count = template.update(sql, 1015); System.out.println(count); }
4.查询id为1的记录,将其封装为Map集合
/** * 4.查询id为1的记录,将其封装为Map集合 * 注意:这个方法查询的结果集长度只能是1 */ @Test public void test4(){ String sql = "select * from emp where id = ?"; Map<String, Object> map = template.queryForMap(sql, 1001); System.out.println(map); }
5.查询所有记录,将其封装为List
/** * 5.查询所有记录,将其封装为List */ @Test public void test5(){ String sql = "select * from emp"; List<Map<String, Object>> list = template.queryForList(sql); for (Map<String, Object> map : list) { System.out.println(map); } }
6.查询所有记录,将其封装为Emp对象的List集合
/** * 6.查询所有记录,将其封装为Emp对象的List集合 */ @Test public void test6(){ String sql = "select * from emp"; List<Emp> list = template.query(sql, new RowMapper<Emp>() { @Override public Emp mapRow(ResultSet rs, int rowNum) throws SQLException { int id = rs.getInt("id"); String ename = rs.getString("ename"); int job_id = rs.getInt("job_id"); int mgr = rs.getInt("mgr"); Date joindate = rs.getDate("joindate"); double salary = rs.getDouble("salary"); double bonus = rs.getDouble("bonus"); int dept_id = rs.getInt("dept_id"); Emp emp = new Emp(id, ename, job_id, mgr, joindate, salary, bonus, dept_id); return emp; } }); for (Emp emp : list) { System.out.println(emp); } }
@Test public void test6_2(){ String sql = "select * from emp"; List<Emp> list = template.query(sql, new BeanPropertyRowMapper<Emp>(Emp.class)); for (Emp emp : list) { System.out.println(emp); } }
7.查询总的记录数
/** * 7.查询总的记录数 */ @Test public void test7(){ String sql = "select count(*) from emp"; Long total = template.queryForObject(sql, Long.class); System.out.println(total); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix