spring整合jdbc方法一
用了一段时间的spring这,闲来没事做一下spring整合jdbc
目录文件
导入jar包
由于spring的jar包是在myeclipse中自动导入的有些暂时用不到的也没有处理。
Emp类
- package com.v2uc.entity;
- import java.util.Date;
- public class Emp {
- private Integer empno;
- private String ename;
- private String job;
- private Integer mgr;
- private Date hiredate;
- private Double sal;
- private Double comm;
- private Integer deptno;
- public Integer getEmpno() {
- return empno;
- }
- public void setEmpno(Integer empno) {
- this.empno = empno;
- }
- public String getEname() {
- return ename;
- }
- public void setEname(String ename) {
- this.ename = ename;
- }
- public String getJob() {
- return job;
- }
- public void setJob(String job) {
- this.job = job;
- }
- public Integer getMgr() {
- return mgr;
- }
- public void setMgr(Integer mgr) {
- this.mgr = mgr;
- }
- public Date getHiredate() {
- return hiredate;
- }
- public void setHiredate(Date hiredate) {
- this.hiredate = hiredate;
- }
- public Double getSal() {
- return sal;
- }
- public void setSal(Double sal) {
- this.sal = sal;
- }
- public Double getComm() {
- return comm;
- }
- public void setComm(Double comm) {
- this.comm = comm;
- }
- public Integer getDeptno() {
- return deptno;
- }
- public void setDeptno(Integer deptno) {
- this.deptno = deptno;
- }
- }
映射文件EmpMapping
- package com.v2uc.entity;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.springframework.jdbc.core.RowMapper;
- public class EmpMapping implements RowMapper<Emp> {
- public Emp mapRow(ResultSet rs, int rowIndex) throws SQLException{
- Emp emp = new Emp();
- emp.setEmpno(rs.getInt("EMPNO"));
- emp.setEname(rs.getString("ENAME"));
- emp.setJob(rs.getString("job"));
- emp.setMgr(rs.getInt("MGR"));
- emp.setHiredate(rs.getDate("HIREDATE"));
- emp.setSal(rs.getDouble("SAL"));
- emp.setComm(rs.getDouble("COMM"));
- emp.setDeptno(rs.getInt("DEPTNO"));
- return emp;
- }
- }
EmpDao接口
- package com.v2uc.dao;
- import java.util.List;
- import com.v2uc.entity.Emp;
- public interface EmpDao {
- public void save(Emp emp);
- public void update(Emp emp);
- public void delete(int no);
- public Emp findByNo(int no);
- public List<Emp> findAll();
- }
JdbcEmpDao实现
- package com.v2uc.dao;
- import java.util.List;
- import javax.activation.DataSource;
- import org.springframework.jdbc.core.RowMapper;
- import org.springframework.jdbc.core.support.JdbcDaoSupport;
- import com.v2uc.entity.Emp;
- import com.v2uc.entity.EmpMapping;
- public class JdbcEmpDao extends JdbcDaoSupport implements EmpDao {
- private DataSource dataSource;
- public void setDataSource(DataSource dataSource){
- this.dataSource = dataSource;
- }
- @Override
- public void save(Emp emp) {
- // TODO Auto-generated method stub
- }
- @Override
- public void update(Emp emp) {
- // TODO Auto-generated method stub
- }
- @Override
- public void delete(int no) {
- // TODO Auto-generated method stub
- }
- @Override
- public Emp findByNo(int no) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public List<Emp> findAll() {
- String sql = "select * from t_emp";
- RowMapper<Emp> mapper = new EmpMapping();
- List<Emp> list = super.getJdbcTemplate().query(sql,mapper);
- return list;
- }
- }
xml配置
- <?xml version="1.0" encoding="UTF-8"?>
- <beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:p="http://www.springframework.org/schema/p"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
- <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
- <property name="driverClassName" value="com.mysql.jdbc.Driver" ></property>
- <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property>
- <property name="username" value="root"></property>
- <property name="password" value=""></property>
- </bean>
- <bean id="jdbcEmpDao1" class="com.v2uc.dao.JdbcEmpDao">
- <property name="dataSource" ref="myDataSource"></property>
- </bean>
- </beans>
Test单元测试
- package com.v2uc.test;
- import java.util.List;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import com.v2uc.dao.EmpDao;
- import com.v2uc.entity.Emp;
- public class Test {
- @Test
- public void test() {
- String conf = "applicationContext.xml";
- ApplicationContext ac = new ClassPathXmlApplicationContext(conf);
- EmpDao empDao = ac.getBean("jdbcEmpDao1",EmpDao.class);
- List<Emp> list = empDao.findAll();
- for(Emp emp : list){
- System.out.println(emp.getEname());
- }
- }
- }
遇到问题
mysql 创建连接是 Cannot create PoolableConnectionFactory (Unknown character set: 'utf8mb4')
Cannot create PoolableConnectionFactory (Unknown character set: 'utf8mb4')
- maven 依赖换版本
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.6</version>
- </dependency>
更换5.1.6的jar包即可解决该问题
spring整合jdbc方法一的更多相关文章
- Spring整合jdbc
首先web.xml文件跟往常一样,加载spring容器和加载org.springframework.web.context.ContextLoaderListener读取applicationCont ...
- JAVAEE——spring03:spring整合JDBC和aop事务
一.spring整合JDBC 1.spring提供了很多模板整合Dao技术 2.spring中提供了一个可以操作数据库的对象.对象封装了jdbc技术. JDBCTemplate => JDBC模 ...
- Spring整合JDBC及事务处理
1.Spring整合JDBC DAO是数据访问对象(data access object)的简写.接口是实现松耦合的关键,Spring也鼓励使用接口,但不是强制的. 捕获异常时希望能尝试从异常状态中恢 ...
- Spring整合JDBC以及AOP管理事务
本节内容: Spring整合JDBC Spring中的AOP管理事务 一.Spring整合JDBC Spring框架永远是一个容器,Spring整合JDBC其实就是Spring提供了一个对象,这个对象 ...
- Spring整合JDBC实现简单的增删改
Spring整合JDBC实现简单的增删改: 1.导入Spring的包和数据库的驱动包: 2.选择一个数据源(dbcp和C3P0) 3.导入数据源的包(这里我们使用dbcp) <span styl ...
- Spring知识点总结(五)Spring整合JDBC
1. 回顾JDBC a. java操作关系型数据的API.导入相关数据库的驱动包后可以通过JDBC提供的接口来操作数据库. b. 实现JDBC的六个步骤 ...
- Spring整合JDBC(连接池、JDBC模板、Dao配置到Spring容器、配置文件的优化)
1.Spring整合JDBC (1)导包(共12个): c3p0连接池.JDBC驱动(4个) Spring-jdbc.Spring-tx事务(2个) (2)JDBC模板对象(JDBCTemplate) ...
- Spring学习笔记(五)—— Spring整合JDBC
一.Spring对JDBC的支持 Spring提供了很多模板整合Dao技术 与JDBC的整合中,Spring中提供了一个可以操作数据库的对象——JdbcTemplate,该对象封装了JDBC技术,与D ...
- Spring整合JDBC temple
一.Spring对Jdbc的支持 Spring为了提供对Jdbc的支持,在Jdbc API的基础上封装了一套实现,以此建立一个 JDBC 存取框架. 作为 Spring JDBC 框架的核心, JDB ...
随机推荐
- C#曲线分析平台的制作(一,ajax+json前后台数据传递)
在最近的项目学习中,需要建立一个实时数据的曲线分析平台,这其中的关键在于前后台数据传递过程的学习,经过一天的前辈资料整理,大概有了一定的思路,现总结如下: 1.利用jquery下ajax函数实现: & ...
- jquey 定位到有某个类
$active = $('.g-pop-box .box-option a[class="on"]')
- centos 服务
1,开机开启服务 # chkconfig vsftpd on
- Python学习的十个阶段,学完神功大成,对应一下看看你自己在哪个阶段
大家好,我是白云. 今天给大家整理了Python学习的十个阶段内容,看看你现在正处于哪个阶段,想学习的朋友也可以根据这个阶段规划学习. 阶段一:Python基础[ 初入江湖] Linux基础 目标: ...
- Moco框架jar下载
下载地址: https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.10.0/ 选择如下图下载 下载成功即可使用
- CentOS时间日期类语法
目录 一.date时间日期类 1. date显示当前时间 2. date 显示非当前时间 3. date 设置系统时间 二.cal 查看日历 一.date时间日期类 date [OPTION]... ...
- 【死磕 Java 基础】 — 谈谈那个写时拷贝技术(copy-on-write)
copy-on-write,即写时复制技术,这是小编在学习 Redis 持久化时看到的一个概念,当然在这个概念很早就碰到过(Java 容器并发有这个概念),但是一直都没有深入研究过,所以趁着这次机会对 ...
- Modify File Descriptor Limit on Linux
System-wide File Descriptor Limit Get current value: sysctl fs.file-max modify max fd limit: sysctl ...
- JavaScript学习02(js快速入门)
快速入门 基本语法 JavaScript的语法和Java的语法类似,每个语句以;结束,语句块用{...}.但是JavaScrip并不强制要求在每个语句的结尾加;,浏览器中负责执行JavaScript代 ...
- eclipse中添加进新的java项目中文乱码
eclipse中添加进新的java项目中文乱码 添加学习的一些项目进eclipse中,结果其中的中文注释都变成了乱码 右击项目,点最下面的属性,出来新得弹框 在文本文件编码部分可以发现是GBK格式,选 ...