1.导包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.tedu</groupId>
<artifactId>mybatis-day01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.5</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.2</version>
</dependency>
</dependencies>
</project>
2.写实体类package entity;
public class Emp {
private Integer id;
private String name;
private Double age;
@Override
public String toString() {
return "Emp [id=" + id + ", name=" + name + ", age=" + age + "]";
}
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 getAge() {
return age;
}
public void setAge(Double age) {
this.age = age;
}
public Emp() {
// TODO Auto-generated constructor stub
}
}
3.写EmpMapper.xml。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="test" >
<insert
id="save"
parameterType="entity.Emp">
INSERT INTO emp_sly VALUES(emp_seq_sly.nextval,#{name},#{age})
</insert>
<!-- id要求唯一
resultType:参数类型
-->
<select id="findAll" resultType="entity.Emp" >
SELECT * FROM emp_sly
</select>
<select id="findById" parameterType="int"
resultType="entity.Emp" >
SELECT * FROM emp_sly
where id = #{id1}
</select>
<select id="findById2" parameterType="int"
resultType="map" >
SELECT * FROM emp_sly
where id = #{id1}
</select>
<delete id="delete"
parameterType="int">
DELETE FROM emp_sly
where id = #{id}
</delete>
<update id="modify" parameterType="entity.Emp">
UPDATE emp_sly set name = #{name},
age = #{age} where id= #{id}
</update>
<select id="findById3"
parameterType="int"
resultMap="emp2Map" >
select * from emp_sly where id = #{id}
</select>
<!-- 表的字段名跟实体类的映射关系 -->
<resultMap type="entity.Emp2" id="emp2Map">
<result property="ename" column="name" />
<result property="empno" column="id" />
</resultMap>
</mapper>
4.写sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<environments default="environment">
<environment id="environment">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url"
value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="system" />
<property name="password" value="oracle" />
</dataSource>
</environment>
</environments>
<!-- 映射文件(sql语句)的位置 -->
<mappers>
<mapper resource="entity/EmpMapper.xml" />
</mappers>
</configuration>
5.写test类
package test;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import entity.Emp;
import entity.Emp2;
public class TestCase {
private SqlSession session;
@Before
public void init(){
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
SqlSessionFactory ssf =
ssfb.build(
TestCase.class
.getClassLoader()
.getResourceAsStream("SqlMapConfig.xml"));
session = ssf.openSession();
}
@Test
public void test1(){
Emp emp = new Emp();
emp.setName("22sly");
emp.setAge(new Double(22));
session.insert("test.save",emp);
session.commit();
session.close();
}
@Test
public void test2(){
List <Emp> lists=
session.selectList("test.findAll");
System.out.println(lists);
session.commit();
session.close();
}
@Test
public void test3(){
Emp emp = session.selectOne("test.findById", 4);
System.out.println(emp);
session.commit();
session.close();
}
@Test
public void test4(){
session.delete("test.delete",2);
session.commit();
session.close();
}
@Test
public void test5(){
Emp emp = session.selectOne("test.findById",4);
emp.setAge(emp.getAge()+10);
session.update("test.modify",emp);
session.commit();
session.close();
}
@Test
public void test6(){
Map data = session.selectOne("test.findById2", 4);
System.out.println(data);
System.out.println(data.get("NAME"));
session.commit();
session.close();
}
@Test
public void test7(){
Emp2 emp = session.selectOne("test.findById3",4);
System.out.println(emp);
session.commit();
session.close();
}
}