基于注解的入门案例
1、创建表
2、创建pojo类
3、编写数据库连接资源db.properties
4、编写 config.xml
5、编写My_StudentMap接口,此类接口不需要实现,直接注册到config.xml文件中
之后注册接口
6、编写dao层
7、编写test测试类
1、创建表
create table My_Student(
id number(10) primary key,
name varchar(10),
email varchar(30),
bod Date
);
2、创建pojo类
package com.briup.pojo;
import java.util.Date;
public class My_Student {
private Integer id;
private String name;
private String email;
private Date bod;
public My_Student() {
super();
}
public My_Student(Integer id, String name, String email, Date bod) {
super();
this.id = id;
this.name = name;
this.email = email;
this.bod = bod;
}
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 String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getBod() {
return bod;
}
public void setBod(Date bod) {
this.bod = bod;
}
@Override
public String toString() {
return "My_Student [id=" + id + ", name=" + name + ", email=" + email + ", bod=" + bod + "]";
}
}
3、编写数据库连接资源db.properties
dirver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
username=briup
password=briup
4、编写 config.xml
<?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"></properties><!-- 导入db.properties资源文件 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC">
</transactionManager><!-- JDBC/MANAGED -->
<dataSource type="POOLED"><!--unpooled不使用连接池/pooled使用连接池 -->
<property name="driver" value="${dirver}" /><!--数据库的dirver -->
<property name="url" value="${url}" /><!--连接数据库的url -->
<property name="username" value="${username}" /><!--数据库用户名 -->
<property name="password" value="${password}" /><!--对应用户名的密码 -->
</dataSource>
</environment>
</environments>
<mappers>
<mapper class="com.briup.maps_anntation.My_StudentMap" /><!-- 写好接口类后进行注册 -->
</mappers>
</configuration>
5、编写My_StudentMap接口,此类接口不需要实现,直接注册到config.xml文件中
package com.briup.maps_anntation;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import com.briup.pojo.My_Student;
public interface My_StudentMap {
@Select("select * from My_Student where id=#{id}")
public My_Student findStudentById(int id);
@Insert("insert into My_Student values(#{id},#{name},#{email},#{bod})")
public void saveStudent(My_Student student);
}
之后注册接口
6、编写dao层
package com.briup.dao;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.briup.maps_anntation.My_StudentMap;
import com.briup.pojo.My_Student;
public class StudnetDao_anntation {
static SqlSessionFactory factory = null;
static {
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream("conf.xml");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
factory = builder.build(inputStream);
}
public My_Student getStudent() {
SqlSession session = factory.openSession();
My_StudentMap map = session.getMapper(My_StudentMap.class);
My_Student my_Student = map.findStudentById(1);
session.commit();
session.close();
return my_Student;
}
public void saveStudent(My_Student student) {
SqlSession session = factory.openSession();
My_StudentMap map = session.getMapper(My_StudentMap.class);
map.saveStudent(student);
session.commit();
session.close();
}
}
7、编写test测试类
package com.briup.Servers;
import java.sql.Date;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Before;
import org.junit.Test;
import com.briup.dao.StudentDao;
import com.briup.dao.StudnetDao_anntation;
import com.briup.pojo.My_Student;
public class TestStudent_annotion {
public StudnetDao_anntation studentdao;
@Before
public void init() {
studentdao = new StudnetDao_anntation();
}
@Test
public void saveStudent() {
My_Student my_Student = new My_Student(2, "tom", "briup@123.com", new Date(new java.util.Date().getTime()));
studentdao.saveStudent(my_Student);
}
@Test
public void selectStudent() {
My_Student my_Student = studentdao.getStudent(2);
}
}