案例:

1.在新创建的项目中调用jar包

2.创建实体类bean包,dao包,测试类test包

3.在com.wang.bean中创建实体类Emp
package com.wang.bean;
public class Emp {
private Integer eid;
private String ename;
private String dept;
private String job;
private Integer sal;
private String phone;
private String address;
@Override
public String toString() {
return "Emp{" +
"eid=" + eid +
", ename='" + ename + '\'' +
", dept='" + dept + '\'' +
", job='" + job + '\'' +
", sal=" + sal +
", phone='" + phone + '\'' +
", address='" + address + '\'' +
'}';
}
public Integer getEid() {
return eid;
}
public void setEid(Integer eid) {
this.eid = eid;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public Integer getSal() {
return sal;
}
public void setSal(Integer sal) {
this.sal = sal;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
4.在src里面创建mybatis.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>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="jdbc"></transactionManager>
<dataSource type="pooled">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/web1"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper class="com.wang.dao.EmpDao"></mapper>
</mappers>
</configuration>
5.在com.wang.dao包中创建EmpDao接口类,在里面创建接口方法
package com.wang.dao;
import com.wang.bean.Emp;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface EmpDao {
List<Emp> selectAll();
Emp selectById(int eid);
int addEmp(Emp emp);
int reviseEmp(Emp emp);
int delEmp(int eid);
Emp dongtai(@Param("ename") String ename, @Param("dept") String dept, @Param("job") String job);
}
6.在com.wang.dao包中创建EmpDao.xml文件在里面设置映射和sql语句
<?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">
<!--namespace是映射的dao接口-->
<mapper namespace="com.wang.dao.EmpDao">
<select id="selectAll" resultType="com.wang.bean.Emp">
select*from emp;
</select>
<select id="selectById" resultType="com.wang.bean.Emp" parameterType="int">
select*from emp where eid=#{eid};
</select>
<insert id="addEmp" parameterType="com.wang.bean.Emp">
insert into emp(ename,dept,job,sal,phone,address) values(#{ename},#{dept},#{job},#{sal},#{phone},#{address})
</insert>
<update id="reviseEmp" parameterType="com.wang.bean.Emp">
update emp set dept=#{dept},job=#{job} where eid=#{eid};
</update>
<delete id="delEmp" parameterType="int">
delete from emp where eid=#{eid};
</delete>
<select id="dongtai" resultType="com.wang.bean.Emp">
select*from emp where ename=#{ename} and dept=#{dept} and job=#{job};
</select>
</mapper>
7.在com.wang.test包中创建测试类EmpTest在里面编写测试的方法
package com.wang.test;
import com.wang.bean.Emp;
import com.wang.dao.EmpDao;
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 org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class EmpTest {
InputStream stream=null;
SqlSessionFactoryBuilder builder=null;
SqlSessionFactory factory=null;
SqlSession sqlSession=null;
EmpDao empDao=null;
@Before
public void init() throws IOException {
stream= Resources.getResourceAsStream("mybatis.xml");
builder=new SqlSessionFactoryBuilder();
factory=builder.build(stream);
sqlSession=factory.openSession();
empDao=sqlSession.getMapper(EmpDao.class);
}
@Test
public void testSelect(){
List<Emp> empList = empDao.selectAll();
for (Emp emp:empList){
System.out.println(emp);
}
}
@Test
public void testselectByid(){
Emp emp = empDao.selectById(3);
System.out.println(emp);
}
@Test
public void testAdd(){
Emp emp=new Emp();
emp.setEname("张三");
emp.setDept("测试部");
emp.setJob("测试工程师");
emp.setSal(8800);
emp.setPhone("15979898956");
emp.setAddress("焦作");
int n = empDao.addEmp(emp);
if (n>0){
System.out.println("成功");
}else{
System.out.println("失败");
}
}
@Test
public void testUpdate(){
Emp old = empDao.selectById(3);
System.out.println("修改前:"+old);
old.setDept("运维部");
old.setJob("运维工程师");
empDao.reviseEmp(old);
Emp emp1=empDao.selectById(3);
System.out.println("修改后:"+emp1);
}
@Test
public void testDel(){
int n = empDao.delEmp(9);
if (n>0){
System.out.println("成功");
}else{
System.out.println("失败");
}
}
@Test
public void testDongtai(){
Emp emp = empDao.dongtai("刘瑞琳", "运维部", "产品经理");
System.out.println(emp);
}
@After
public void destory() throws IOException {
sqlSession.commit();
sqlSession.close();
stream.close();
}
}