mysql的jar:
mysql-connector-java-5.1.7-bin.jar
oracle的jar:
ojdbc5.jar
c3p0的jar:
c3p0-0.9.1.2.jar
mybatis的jar:
asm-3.3.1.jar
cglib-2.2.2.jar
commons-logging-1.1.1.jar
mybatis-3.1.1.jar
mybatis与spring整合的jar
【mybatis-spring-1.1.1.jar】
spring的ioc模块的jar:
org.springframework.asm-3.0.5.RELEASE.jar
org.springframework.beans-3.0.5.RELEASE.jar
org.springframework.context-3.0.5.RELEASE.jar
org.springframework.core-3.0.5.RELEASE.jar
org.springframework.expression-3.0.5.RELEASE.jar
commons-logging.jar
spring的aop模块的jar:
aopalliance.jar
aspectjweaver.jar
cglib-2.2.2.jar
org.springframework.aop-3.0.5.RELEASE.jar
spring的transaction模块的jar:
org.springframework.jdbc-3.0.5.RELEASE.jar
org.springframework.orm-3.0.5.RELEASE.jar
org.springframework.transaction-3.0.5.RELEASE.jar
3)创建emps.sql表,使用oracle或mysql语法
--oracle create table emps( eid number(5) primary key, ename varchar2(20), esal number(8,2), esex varchar2(2) );
4)创建Emp.java类
package cn.buaa.javaee.entity;
/**
* 员工
* @author AdminTC
*/
public class Emp {
private Integer id;
private String name;
private Double sal;
private String sex;
public Emp(){}
public Emp(Integer id, String name, Double sal, String sex) {
this.id = id;
this.name = name;
this.sal = sal;
this.sex = sex;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getSal() {
return sal;
}
public void setSal(Double sal) {
this.sal = sal;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
5)创建EmpMapper.xml映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="empNamespace">
<resultMap type="emp" id="empMap">
<id property="id" column="eid"/>
<result property="name" column="ename"/>
<result property="sal" column="esal"/>
<result property="sex" column="esex"/>
</resultMap>
<!-- 增加员工 -->
<insert id="add" parameterType="emp">
insert into emps(eid,ename,esal,esex) values(#{id},#{name},#{sal},#{sex})
</insert>
</mapper>
6)创建mybatis.xml配置文件,注意,因为spring配置了连接池的管理,所以mybatis中连接池配置删除即可(下边为了测试,没删除,不删除,默认用的也是老大Spring)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 加载类路径下的属性文件 -->
<properties resource="db.properties"/>
<!-- 设置类型别名 -->
<typeAliases >
<typeAlias type="cn.buaa.javaee.entity.Emp" alias="emp"/>
</typeAliases>
<!-- 设置默认的连接环境信息 -->
<environments default="oracle_developer">
<!-- 连接环境信息 ,随便起一个唯一的名字 -->
<environment id="mysql_developer">
<!-- mybatis使用jdbc事物管理方式 -->
<transactionManager type="jdbc"></transactionManager>
<!-- mybatis使用连接池方式来获取连接 -->
<dataSource type="pooled">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
<!-- 连接环境信息 ,随便起一个唯一的名字 -->
<environment id="oracle_developer">
<!-- mybatis使用jdbc事物管理方式 -->
<transactionManager type="jdbc"></transactionManager>
<!-- mybatis使用连接池方式来获取连接 -->
<dataSource type="pooled">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521/orcl"/>
<property name="username" value="zhangdong"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 加载映射文件-->
<mappers>
<mapper resource="cn/buaa/javaee/entity/EmpMapper.xml"/>
</mappers>
</configuration>7)创建EmpDao.java类
package cn.buaa.javaee.dao;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import cn.buaa.javaee.entity.Emp;
public class EmpDao {
private SqlSessionFactory sqlSessionFactory;
//ioc容器自动注入
public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory = sqlSessionFactory;
}
/**
* 增加员工
*/
public void add(Emp emp) throws Exception{
/*SqlSession sqlSession = null;
try {
sqlSession = MybatisUtil.getSqlSession();
sqlSession.insert("empNamespace.add", emp);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
sqlSession.rollback();
throw e;
}finally{
MybatisUtil.closeSqlSession();
}*/
SqlSession sqlSession = sqlSessionFactory.openSession();
sqlSession.insert("empNamespace.add", emp);
sqlSession.close();
}
}
package cn.buaa.javaee.test;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.buaa.javaee.dao.EmpDao;
import cn.buaa.javaee.entity.Emp;
/**
* 单元测试
* @author 梧桐下的茵
*
*/
public class TestEmpDao {
//单独测试mybatis
@Test
public void test1() throws Exception{
EmpDao empDao = new EmpDao();
empDao.add(new Emp(1,"哈哈",7000D,"男"));
}
//测试spring整合mybatis
@Test
public void test2() throws Exception{
ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
EmpDao empDao = (EmpDao)ac.getBean("empDao");
empDao.add(new Emp(3,"哈哈",7000D,"男"));
}
}
原文:http://blog.csdn.net/zd305826520/article/details/51340927