(1)创建项目,导入项目需要的jar包
(2)编写MyBatis核心配置文件,如下:
MyBatis:
<?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.propertise"></properties>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<typeAliases>
<package name="an.sz.pojo"/>
</typeAliases>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<package name="an.sz.mapper"/>
</mappers>
</configuration>
(3)编写mapping映射文件
UserMapper.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="an.sz.mapper.UserMapper">
<select id="selAll" resultType="user">
select * from t_user
</select>
<insert id="add" parameterType="user">
insert into t_user values(default,#{username},#{password})
</insert>
<!-- 实现动态更改数据 -->
<update id="update" parameterType="user">
update t_user
<set>
id=#{id},
<if test="username != null and username!= ''">
username=#{username},
</if>
<if test="password !=null and password != ''">
password=#{password},
</if>
</set>
<where>
id=#{id}
</where>
</update>
<delete id="delete" parameterType="int">
delete from t_user where id = #{0}
</delete>
</mapper>
(4)编写UserMapper接口:
package an.sz.mapper;
import java.util.List;
import an.sz.pojo.User;
public interface UserMapper {
List<User> selAll();
int add(User user);
int update(User user);
int delete(int id);
}
(5)业务层的接口编写:
UserService:
package an.sz.service;
import java.util.List;
import an.sz.pojo.User;
public interface UserService {
List<User> selAll();
int insert(User user);
int update(User user);
int delete(int id);
}
(6)业务层的实现类编写:
UserServiceImpl:
package an.sz.service;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import an.sz.mapper.UserMapper;
import an.sz.pojo.User;
import an.sz.util.MyBatisUtil;
public class UserServiceImpl implements UserService{
/**
* 查询所有用户信息
*/
@Override
public List<User> selAll() {
SqlSession session = MyBatisUtil.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);
List<User> list = mapper.selAll();
session.close();
return list;
}
/**
* 插入用户信息
*/
@Override
public int insert(User user) {
SqlSession session = MyBatisUtil.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);
int num = mapper.add(user);
if(num>0) {
System.out.println("SUCCESS");
session.commit();
}else {
System.out.println("FAILED");
session.rollback();
}
session.close();
return num;
}
@Override
public int update(User user) {
SqlSession session = MyBatisUtil.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);
int num = mapper.update(user);
if(num>0) {
System.out.println("SUCCESS");
session.commit();
}else {
System.out.println("FAILED");
session.rollback();
}
session.close();
return num;
}
@Override
public int delete(int id) {
SqlSession session = MyBatisUtil.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);
int num = mapper.delete(id);
if(num>0) {
System.out.println("SUCCESS");
session.commit();
}else {
System.out.println("FAILED");
session.rollback();
}
session.close();
return num;
}
}
(7)测试类的编写:
TestCRUD:
package an.sz.test;
import java.util.List;
import org.junit.Test;
import an.sz.pojo.User;
import an.sz.service.UserService;
import an.sz.service.UserServiceImpl;
public class TestCRUD {
@Test
public void testSelAll() {
UserService us = new UserServiceImpl();
List<User> list = us.selAll();
for (User user : list) {
System.out.println(user);
}
}
@Test
public void testInsert() {
UserService us = new UserServiceImpl();
User user = new User();
user.setUsername("蜡笔小新");
user.setPassword("222");
int num = us.insert(user);
}
@Test
public void testUpdate() {
UserService us = new UserServiceImpl();
User user = new User();
user.setUsername("");
user.setPassword("111");
int num = us.insert(user);
}
@Test
public void testDelete() {
UserService us = new UserServiceImpl();
int num = us.delete(4);
}
}