jdbctemplate mysql 分页查询 返回list对象_Spring之jdbcTemplate:查询的三种方式(单个值、单个对象、对象集合)...

1 packagehelloworld.jdbcTemplate;2

3 importorg.springframework.jdbc.core.JdbcTemplate;4

5 import java.sql.*;6 importjava.util.List;7

8 /**

9 * 功能:通过JdbcTemplate实现查询操作10 * 查询结果需要自己封装(实现RowMapper接口)11 */

12

13 public classJdbcTemplateDemo2 {14 //JdbcTemplate使用步骤:15 //1、导入jar包;2、设置数据库信息;3、设置数据源;4、调用jdbcTemplate对象中的方法实现操作

16

17 public static voidmain(String[] args) {18 //设置数据库信息和据源

19 JdbcTemplateObject jdbcTemplateObject = newJdbcTemplateObject();20 JdbcTemplate jdbcTemplate =jdbcTemplateObject.getJdbcTemplate();21

22 //插入数据23 //insertData();24

25 //查询返回某一个值:查询表中数据总数

26 queryForOne(jdbcTemplate);27

28 //查询返回对象

29 queryForObject(jdbcTemplate);30

31 //查询返回list集合

32 queryForList(jdbcTemplate);33

34 //使用JDBC底层实现查询

35 queryWithJDBC();36 }37

38 //插入数据

39 public static voidinsertData() {40 JdbcTemplateObject jdbcTemplateObject = newJdbcTemplateObject();41 JdbcTemplate jdbcTemplate =jdbcTemplateObject.getJdbcTemplate();42 //调用jdbcTemplate对象中的方法实现操作

43 String sql = "insert into user value(?,?,?)";44 //表结构:id(int、自增),name(varchar 100),age(int 10)

45 int rows = jdbcTemplate.update(sql, null, "Tom", 35);46 System.out.println("插入行数:" +rows);47 }48

49 /**

50 * 查询返回某一个值:查询表中数据总数51 */

52 public static voidqueryForOne(JdbcTemplate jdbcTemplate) {53 String sql = "select count(*) from user";54 //调用方法获得记录数

55 int count = jdbcTemplate.queryForObject(sql, Integer.class);56 System.out.println("数据总数:" +count);57 }58

59 /**

60 * 功能:查询返回单个对象61 * 步骤:新建MyRowMapper类实现RowMapper接口,重写mapRow方法,指定返回User对象62 */

63 public static voidqueryForObject(JdbcTemplate jdbcTemplate) {64 String sql = "select * from user where name = ?";65 //新建MyRowMapper类实现RowMapper接口,重写mapRow方法,指定返回User对象

66 User user = jdbcTemplate.queryForObject(sql, new MyRowMapper(), "Tom");67 System.out.println(user);68 }69

70 /**

71 * 功能:查询返回对象集合72 * 步骤:新建MyRowMapper类实现RowMapper接口,重写mapRow方法,指定返回User对象73 */

74 public static voidqueryForList(JdbcTemplate jdbcTemplate) {75 String sql = "select * from user";76 //第三个参数可以省略

77 List users = jdbcTemplate.query(sql, newMyRowMapper());78 System.out.println(users);79 }80

81 /**

82 * 使用JDBC底层实现查询83 */

84 public static voidqueryWithJDBC() {85 Connection conn = null;86 PreparedStatement psmt = null;87 ResultSet rs = null;88 String jdbcUrl = "jdbc:mysql://192.168.184.130:3306/gxrdb";89

90 try{91 //加载驱动

92 Class.forName("com.mysql.jdbc.Driver");93 //创建连接

94 conn = DriverManager.getConnection(jdbcUrl, "root", "root");95 String sql = "select * from user where name = ?";96 //预编译sql

97 psmt =conn.prepareStatement(sql);98 //从1开始,没有就不需要

99 psmt.setString(1, "Tom");100 //执行sql

101 rs =psmt.executeQuery();102 //int num = psmt.executeUpdate();//增删改,返回操作记录数103

104 //遍历结果集

105 while(rs.next()) {106 //根据列名查询对应的值,也可以是位置序号

107 String name = rs.getString("name");108 String age = rs.getString("age");109 System.out.println(name);110 System.out.println(age);111 }112 } catch(Exception e) {113 e.printStackTrace();114 } finally{115 try{116 rs.close();117 psmt.close();118 conn.close();119 } catch(SQLException e) {120 e.printStackTrace();121 }122 }123 }124

125 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值