使用spring实现数据库操作

使用spring实现数据库操作
需求:
查询用户列表
所需jar包在这里插入图片描述
代码实现
dao层
QueryRunner放到成员变量位置并提供set方法,准备使用spring对其进行依赖注入

在这里插入代码片
public class IUserDaoImpl implements IUserDao {
 private QueryRunner queryRunner; 
 public void setQueryRunner(QueryRunner queryRunner) { this.queryRunner = queryRunner;
  }
  @Override
   public List<User> selectUserList() throws Exception {              return queryRunner.query("select * from tb_user",new BeanListHandler<User> (User.class)); } } 

service层
IUserDao放到成员变量位置并提供set方法,准备使用spring对其进行依赖注入

public class IuserServiceImpl implements IUserService {
  private IUserDao userdao
  public void setUserDao(IUserDao userDao) { 
  this.userDao = userDao; 
  }
  
@Override
 public List<User> selectUserList() throws Exception { return userDao.selectUserList();
  } 
  } 

applicationContext.xml配置文件,步骤如下: 1,配置IUserServiceImpl到Spring容器,设置userDao属性 2,配置IUserDaoImpl到Spring容器,设置queryRunner属性 3,配置QueryRunner到Spring容器,设置dataSource属性 4,配置ComboPooledDataSource到Spring容器,设置driverClass、jdbcUrl、user、 password属性


<!‐‐ 1,配置IUserServiceImpl到Spring容器 ‐‐> <bean id="userService" class="com.qzw.service.IUserServiceImpl"> <property name="userDao" ref="userDao"></property> </bean> <!‐‐ 2,配置IUserDaoImpl到Spring容器 ‐‐> <bean id="userDao" class="com.qzw.dao.IUserDaoImpl"> <property name="queryRunner" ref="queryRunner"></property> </bean> <!‐‐ 3,配置QueryRunner到Spring容器 ‐‐> <bean id="queryRunner" class="org.apache.commons.dbutils.QueryRunner"> <constructor‐arg name="ds" ref="dataSource"></constructor‐arg> </bean> <!‐‐ 4,配置ComboPooledDataSource到Spring容器 ‐‐> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.cj.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql:///test?serverTimezone=UTC"> </property> <property name="user" value="root"></property> <property name="password" value="root"></property> </bean> 

代码测试

@Test public void selectUserList() throws Exception { ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(“applicationContext.xml”); IUserService userService = (IUserService) applicationContext.getBean(“userService”); List userList = userService.selectUserList(); System.out.println(userList); }

存在的问题
仍然要我们自己写代码来获取容器
问题优化使用<context:property-placeholder location=“c3p0.properties”>标签加载c3p0的配置 文件

发布了17 篇原创文章 · 获赞 0 · 访问量 159

猜你喜欢

转载自blog.csdn.net/weixin_46101397/article/details/104830394