用了一段时间的spring这,闲来没事做一下spring整合jdbc

目录文件

导入jar包

由于spring的jar包是在myeclipse中自动导入的有些暂时用不到的也没有处理。

Emp类

  1. package com.v2uc.entity;
  2.  
  3. import java.util.Date;
  4.  
  5. public class Emp {
  6. private Integer empno;
  7. private String ename;
  8. private String job;
  9. private Integer mgr;
  10. private Date hiredate;
  11. private Double sal;
  12. private Double comm;
  13. private Integer deptno;
  14.  
  15. public Integer getEmpno() {
  16. return empno;
  17. }
  18. public void setEmpno(Integer empno) {
  19. this.empno = empno;
  20. }
  21. public String getEname() {
  22. return ename;
  23. }
  24. public void setEname(String ename) {
  25. this.ename = ename;
  26. }
  27. public String getJob() {
  28. return job;
  29. }
  30. public void setJob(String job) {
  31. this.job = job;
  32. }
  33. public Integer getMgr() {
  34. return mgr;
  35. }
  36. public void setMgr(Integer mgr) {
  37. this.mgr = mgr;
  38. }
  39. public Date getHiredate() {
  40. return hiredate;
  41. }
  42. public void setHiredate(Date hiredate) {
  43. this.hiredate = hiredate;
  44. }
  45. public Double getSal() {
  46. return sal;
  47. }
  48. public void setSal(Double sal) {
  49. this.sal = sal;
  50. }
  51. public Double getComm() {
  52. return comm;
  53. }
  54. public void setComm(Double comm) {
  55. this.comm = comm;
  56. }
  57. public Integer getDeptno() {
  58. return deptno;
  59. }
  60. public void setDeptno(Integer deptno) {
  61. this.deptno = deptno;
  62. }
  63.  
  64. }

映射文件EmpMapping

  1. package com.v2uc.entity;
  2.  
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5.  
  6. import org.springframework.jdbc.core.RowMapper;
  7.  
  8. public class EmpMapping implements RowMapper<Emp> {
  9. public Emp mapRow(ResultSet rs, int rowIndex) throws SQLException{
  10. Emp emp = new Emp();
  11. emp.setEmpno(rs.getInt("EMPNO"));
  12. emp.setEname(rs.getString("ENAME"));
  13. emp.setJob(rs.getString("job"));
  14. emp.setMgr(rs.getInt("MGR"));
  15. emp.setHiredate(rs.getDate("HIREDATE"));
  16. emp.setSal(rs.getDouble("SAL"));
  17. emp.setComm(rs.getDouble("COMM"));
  18. emp.setDeptno(rs.getInt("DEPTNO"));
  19. return emp;
  20. }
  21. }

EmpDao接口

  1. package com.v2uc.dao;
  2.  
  3. import java.util.List;
  4. import com.v2uc.entity.Emp;
  5.  
  6. public interface EmpDao {
  7.  
  8. public void save(Emp emp);
  9. public void update(Emp emp);
  10. public void delete(int no);
  11. public Emp findByNo(int no);
  12. public List<Emp> findAll();
  13.  
  14. }

JdbcEmpDao实现

  1. package com.v2uc.dao;
  2.  
  3. import java.util.List;
  4.  
  5. import javax.activation.DataSource;
  6.  
  7. import org.springframework.jdbc.core.RowMapper;
  8. import org.springframework.jdbc.core.support.JdbcDaoSupport;
  9.  
  10. import com.v2uc.entity.Emp;
  11. import com.v2uc.entity.EmpMapping;
  12.  
  13. public class JdbcEmpDao extends JdbcDaoSupport implements EmpDao {
  14.  
  15. private DataSource dataSource;
  16.  
  17. public void setDataSource(DataSource dataSource){
  18. this.dataSource = dataSource;
  19. }
  20.  
  21. @Override
  22. public void save(Emp emp) {
  23. // TODO Auto-generated method stub
  24.  
  25. }
  26.  
  27. @Override
  28. public void update(Emp emp) {
  29. // TODO Auto-generated method stub
  30.  
  31. }
  32.  
  33. @Override
  34. public void delete(int no) {
  35. // TODO Auto-generated method stub
  36.  
  37. }
  38.  
  39. @Override
  40. public Emp findByNo(int no) {
  41. // TODO Auto-generated method stub
  42. return null;
  43. }
  44.  
  45. @Override
  46. public List<Emp> findAll() {
  47. String sql = "select * from t_emp";
  48. RowMapper<Emp> mapper = new EmpMapping();
  49. List<Emp> list = super.getJdbcTemplate().query(sql,mapper);
  50. return list;
  51. }
  52.  
  53. }

xml配置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans
  3. xmlns="http://www.springframework.org/schema/beans"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xmlns:p="http://www.springframework.org/schema/p"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
  7.  
  8. <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  9. <property name="driverClassName" value="com.mysql.jdbc.Driver" ></property>
  10. <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property>
  11. <property name="username" value="root"></property>
  12. <property name="password" value=""></property>
  13. </bean>
  14. <bean id="jdbcEmpDao1" class="com.v2uc.dao.JdbcEmpDao">
  15. <property name="dataSource" ref="myDataSource"></property>
  16. </bean>
  17.  
  18. </beans>

Test单元测试

  1. package com.v2uc.test;
  2.  
  3. import java.util.List;
  4.  
  5. import org.springframework.context.ApplicationContext;
  6. import org.springframework.context.support.ClassPathXmlApplicationContext;
  7.  
  8. import com.v2uc.dao.EmpDao;
  9. import com.v2uc.entity.Emp;
  10.  
  11. public class Test {
  12.  
  13. @Test
  14. public void test() {
  15. String conf = "applicationContext.xml";
  16. ApplicationContext ac = new ClassPathXmlApplicationContext(conf);
  17. EmpDao empDao = ac.getBean("jdbcEmpDao1",EmpDao.class);
  18. List<Emp> list = empDao.findAll();
  19. for(Emp emp : list){
  20. System.out.println(emp.getEname());
  21. }
  22.  
  23. }
  24.  
  25. }

遇到问题

mysql 创建连接是 Cannot create PoolableConnectionFactory (Unknown character set: 'utf8mb4')

Cannot create PoolableConnectionFactory (Unknown character set: 'utf8mb4')

 
  1. maven 依赖换版本
  2. <dependency>
  3. <groupId>mysql</groupId>
  4. <artifactId>mysql-connector-java</artifactId>
  5. <version>5.1.6</version>
  6. </dependency>

更换5.1.6的jar包即可解决该问题

简单原创地址:http://www.cnblogs.com/maoyali/p/8813710.html

spring整合jdbc方法一的更多相关文章

  1. Spring整合jdbc

    首先web.xml文件跟往常一样,加载spring容器和加载org.springframework.web.context.ContextLoaderListener读取applicationCont ...

  2. JAVAEE——spring03:spring整合JDBC和aop事务

    一.spring整合JDBC 1.spring提供了很多模板整合Dao技术 2.spring中提供了一个可以操作数据库的对象.对象封装了jdbc技术. JDBCTemplate => JDBC模 ...

  3. Spring整合JDBC及事务处理

    1.Spring整合JDBC DAO是数据访问对象(data access object)的简写.接口是实现松耦合的关键,Spring也鼓励使用接口,但不是强制的. 捕获异常时希望能尝试从异常状态中恢 ...

  4. Spring整合JDBC以及AOP管理事务

    本节内容: Spring整合JDBC Spring中的AOP管理事务 一.Spring整合JDBC Spring框架永远是一个容器,Spring整合JDBC其实就是Spring提供了一个对象,这个对象 ...

  5. Spring整合JDBC实现简单的增删改

    Spring整合JDBC实现简单的增删改: 1.导入Spring的包和数据库的驱动包: 2.选择一个数据源(dbcp和C3P0) 3.导入数据源的包(这里我们使用dbcp) <span styl ...

  6. Spring知识点总结(五)Spring整合JDBC

     1. 回顾JDBC        a. java操作关系型数据的API.导入相关数据库的驱动包后可以通过JDBC提供的接口来操作数据库.        b. 实现JDBC的六个步骤          ...

  7. Spring整合JDBC(连接池、JDBC模板、Dao配置到Spring容器、配置文件的优化)

    1.Spring整合JDBC (1)导包(共12个): c3p0连接池.JDBC驱动(4个) Spring-jdbc.Spring-tx事务(2个) (2)JDBC模板对象(JDBCTemplate) ...

  8. Spring学习笔记(五)—— Spring整合JDBC

    一.Spring对JDBC的支持 Spring提供了很多模板整合Dao技术 与JDBC的整合中,Spring中提供了一个可以操作数据库的对象——JdbcTemplate,该对象封装了JDBC技术,与D ...

  9. Spring整合JDBC temple

    一.Spring对Jdbc的支持 Spring为了提供对Jdbc的支持,在Jdbc API的基础上封装了一套实现,以此建立一个 JDBC 存取框架. 作为 Spring JDBC 框架的核心, JDB ...

随机推荐

  1. C#曲线分析平台的制作(一,ajax+json前后台数据传递)

    在最近的项目学习中,需要建立一个实时数据的曲线分析平台,这其中的关键在于前后台数据传递过程的学习,经过一天的前辈资料整理,大概有了一定的思路,现总结如下: 1.利用jquery下ajax函数实现: & ...

  2. jquey 定位到有某个类

    $active = $('.g-pop-box .box-option a[class="on"]')

  3. centos 服务

    1,开机开启服务 #  chkconfig vsftpd on

  4. Python学习的十个阶段,学完神功大成,对应一下看看你自己在哪个阶段

    大家好,我是白云. 今天给大家整理了Python学习的十个阶段内容,看看你现在正处于哪个阶段,想学习的朋友也可以根据这个阶段规划学习. 阶段一:Python基础[ 初入江湖] Linux基础 目标: ...

  5. Moco框架jar下载

    下载地址: https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.10.0/ 选择如下图下载 下载成功即可使用

  6. CentOS时间日期类语法

    目录 一.date时间日期类 1. date显示当前时间 2. date 显示非当前时间 3. date 设置系统时间 二.cal 查看日历 一.date时间日期类 date [OPTION]... ...

  7. 【死磕 Java 基础】 — 谈谈那个写时拷贝技术(copy-on-write)

    copy-on-write,即写时复制技术,这是小编在学习 Redis 持久化时看到的一个概念,当然在这个概念很早就碰到过(Java 容器并发有这个概念),但是一直都没有深入研究过,所以趁着这次机会对 ...

  8. Modify File Descriptor Limit on Linux

    System-wide File Descriptor Limit Get current value: sysctl fs.file-max modify max fd limit: sysctl ...

  9. JavaScript学习02(js快速入门)

    快速入门 基本语法 JavaScript的语法和Java的语法类似,每个语句以;结束,语句块用{...}.但是JavaScrip并不强制要求在每个语句的结尾加;,浏览器中负责执行JavaScript代 ...

  10. eclipse中添加进新的java项目中文乱码

    eclipse中添加进新的java项目中文乱码 添加学习的一些项目进eclipse中,结果其中的中文注释都变成了乱码 右击项目,点最下面的属性,出来新得弹框 在文本文件编码部分可以发现是GBK格式,选 ...