跳转到主内容
极星编程网:以代码为星,赴技术山海!

Spring学习之JdbcTemplate(详细介绍JdbcTemplate的应用)

目录 什么是 JdbcTemplate 使用 引入依赖 在 spring 配置文件配置数据库连接池 将数据参数写信写入jdbc.properties 在xml配置文件中引入jdbc.properties 在xml配置文件中创建druid数据库连接池 配置 JdbcTemplate 对象,注入 DataSource 创建数据库表以及创建对应的类 创建数据库表t_man 实体类 Dao接口、实现类以及Service类 开启组件扫面并将对应的类加上注解 JdbcTemplate 操作数据库(添加) 查询某个值 根据条件查询返回某个对象 查询对象集合 什么是 JdbcTemplate Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作。

使用 引入依赖 我这里将之前的项目中的依赖也放进来了,有的可能用不到。

junit junit 4.11 test org.springframework spring-context 5.3.16 commons-logging commons-logging 1.2 aopalliance aopalliance 1.0 cglib cglib 3.3.0 org.aspectj aspectjweaver 1.9.7 org.springframework spring-aspects 5.3.16 com.alibaba druid 1.1.9 mysql mysql-connector-java 8.0.19 org.springframework spring-jdbc 5.3.16 org.springframework spring-orm 5.3.16 org.springframework spring-tx 5.3.16

在 spring 配置文件配置数据库连接池 将数据参数写信写入jdbc.properties

jdbc.properties内容

url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false username=root password=1230 driver-class-name=com.mysql.cj.jdbc.Driver 在xml配置文件中引入jdbc.properties

在xml配置文件中创建druid数据库连接池

配置 JdbcTemplate 对象,注入 DataSource

创建数据库表以及创建对应的类 创建数据库表t_man

实体类

Dao接口、实现类以及Service类 分别为 ManDao、ManDaoImpl、ManService 里面目前没什么方法 开启组件扫面并将对应的类加上注解

JdbcTemplate 操作数据库(添加) 我们是在测试方法中调用Service对象的方法,然后Service调用Dao的实现类的方法来实现的,因此我们需要现在Dao以及Service中增加方法并且在Service中注入Dao对象,在Dao中需要注入JdbcTemplate来实现方法。

Dao接口

public interface ManDao {

int addEntity(Man man); }

Dao实现类

@Repository public class ManDaoImpl implements ManDao { @Autowired private JdbcTemplate jdbcTemplate;

@Override public int addEntity(Man man) { String sql = "insert into t_man(user_name,sex) values(?,?)"; int update = jdbcTemplate.update(sql, man.getUserName(), man.getSex()); return update; } }

Service类

@Service public class ManService { @Autowired private ManDao dao; public int insertMan(Man man) { return dao.addEntity(man); } }

测试

修改与删除调用的都是差不多这里不再写。

查询某个值 查询id为1的 username Dao接口中加入以下方法

String getNameByUserId(int id);

Dao实现类实现上述方法

@Override

public String getNameByUserId(int id) { String sql = "select user_name from t_man where uid = ?" ; return jdbcTemplate.queryForObject(sql,String.class,id);

} Service中调用

public String getNameById(int id) {

return dao.getNameByUserId(id); } } 测试

根据条件查询返回某个对象 加入如下方法

Dao中方法

Man getEntityById(int id);

实现类实现方法 @Override public Man getEntityById(int id) { String sql = "select uid, user_name userName ,sex from t_man where uid =?"; return jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper(Man.class),id); }

Service中调用 public Man getManById(int id) { return dao.getEntityById(id); } 测试

查询对象集合

代码

Dao方法

List findAll(); 实现类实现方法 @Override public List findAll() { String sql = "select uid, user_name userName ,sex from t_man"; return jdbcTemplate.query(sql,new BeanPropertyRowMapper(Man.class)); }

Service中方法调用 public List getAllMan() { return dao.findAll(); } 测试

相关文章