1. MySQL安装与配置
软件工具 |
版本说明 |
MySQL |
mysql-installer-community-8.0.27.1.msi |
Navicat |
navicat150_premium_cs_x64.exe |
MySQL数据库的驱动jar包 |
mysql-connector-java-8.0.27.jar |
2. JdbcTemplate概述
针对数据库操作,Spring框架提供了JdbcTemplate类,JdbcTemplate是一个模板类,Spring JDBC中的更高层次的抽象类均在JdbcTemplate模板类的基础上创建。
JdbcTemplate类提供了操作数据库的基本方法,包括添加、删除、查询和更新。在操作数据库时,JdbcTemplate类简化了传统JDBC中的复杂步骤,这可以让开发人员将更多精力投入到业务逻辑中。
3. Spring JDBC的配置
Spring对数据库的操作都封装在了core、dataSource、object和support这4个包中,想要使用Spring JDBC,就需要对这些包进行配置。
在Spring中,JDBC的配置是在配置文件applicationContext.xml中完成的,包括配置数据源、配置JDBC模板和配置注入类。
<!--配置数据源--><beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"><!--mysql驱动--><propertyname="driverClassName"value="com.mysql.cj.jdbc.Driver"/><!--连接数据库的url--><propertyname="url"value="jdbc:mysql://localhost:3306/student"/><!--用户名--><propertyname="username"value="root"/><!--密码--><propertyname="password"value="123456"/></bean><!--配置JdbcTemplate--><beanid="jdbcTemplate"class="org.springframework.jdbc.core.JdbcTemplate"><!--注入dataSource--><propertyname="dataSource"ref="dataSource"/></bean>
4. JdbcTemplate常用方法
JdbcTemplate类中常用的方法有update()方法和query()方法。update()方法课进行数据的增删改操作,query()方法可进行数据查询操作。
update()方法
方法 |
说明 |
int update(String sql) |
该方法是最简单的update()方法重载形式,它直接执行传入的SQL语句,并返回受影响的行数。 |
int update(PreparedStatementCreator psc) |
该方法执行参数psc返回的语句,然后返回受影响的行数。 |
int update(String sql, PreparedStatementSetter pss) |
该方法通过参数pss设置SQL语句中的参数,并返回受影响的行数。 |
int update(String sql,Object… args) |
该方法可以为SQL语句设置多个参数,这些参数保存在参数args中,使用Object…设置SQL语句中的参数,要求参数不能为NULL,并返回受影响的行数。 |
query()方法
方法 |
说明 |
List query(String sql, RowMapper rowMapper) |
执行String类型参数提供的SQL语句,并通过参数rowMapper返回一个List类型的结果。 |
List query(String sql, PreparedStatementSetterpss, RowMapper rowMapper) |
根据String类型参数提供的SQL语句创建PreparedStatement对象,通过参数rowMapper将结果返回到List中。 |
List query(String sql,Object[] args,RowMapper rowMapper) |
使用Object[]的值来设置SQL语句中的参数值,rowMapper是个回调方法,直接返回List类型的数据。 |
queryForObject(String sql,RowMapper rowMapper,Object… args) |
将args参数绑定到SQL语句中,并通过参数rowMapper返回一个Object类型的单行记录。 |
queryForList(String sql,Object[] args, class elementType) |
该方法可以返回多行数据的结果,但必须返回列表,args参数是sql语句中的参数,elementType参数返回的是List数据类型。 |
5. 基于JdbcTemplate的学生信息维护案例
使用Spring JdbcTemplate实现学生信息(主键、姓名、年龄)的新增、修改、删除、查询单个、查询所有功能,并实现MySQL数据库的操作。
案例实现详见链接:案例09 基于JdbcTemplate的学生信息维护案例