完整项目见 https://gitee.com/anti-murphy/demo_ssm
第一步:在resources目录下新建jdbc.properties文件
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/library_ssm?serverTimezone=GMT%2B8 jdbc.username=root jdbc.password=000000
第二步:在resources目录下的mybatis目录下新建mybatis-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="jdbc.properties"/>
<typeAliases>
<typeAlias alias="Book" type="cn.xyz.entity.Book"/>
<typeAlias alias="User" type="cn.xyz.entity.User"/>
<typeAlias alias="Admin" type="cn.xyz.entity.Admin"/>
<typeAlias alias="Record" type="cn.xyz.entity.Record"/>
</typeAliases>
<!-- 环境,可以配置多个,default:指定采用哪个环境 -->
<environments default="development">
<!-- id:唯一标识 -->
<environment id="development">
<!-- 事务管理器,JDBC类型的事务管理器 -->
<transactionManager type="JDBC" />
<!-- 数据源,池类型的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<!--<mapper resource="cn/xyz/dao/mapper/BookMapper.xml"/>-->
<package name="cn.xyz.dao.mapper"/>
</mappers>
</configuration>
第三步:在entity目录下建立需要的dao

package cn.com.entity;
import org.springframework.stereotype.Component;
@Component
public class User {
private int id;
private String name;
private String psd;
private int level;
public User() {
}
public User(String name, String psd) {
this.name = name;
this.psd = psd;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", psd='" + psd + '\'' +
", level=" + level +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPsd() {
return psd;
}
public void setPsd(String psd) {
this.psd = psd;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
}
第四步:在java.cn.com.dao.mapper下新建 接口UserMapper.java

public interface UserMapper {
public List<User> queryUserAll();
public User queryUserById(int id);
public int insertUser(User user);
public void deleteUser(int id);
public void updateUser(User user);
}
第五步:在resources.cn.com.dao.mapper下新建接口对应的xml 如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="cn.xyz.dao.mapper.UserMapper">
<select id="queryUserAll" resultType="User">
select * from user
</select>
<select id="queryUserById" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="User">
insert into user(name,psd)
value (#{name},#{psd})
</insert>
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id}
</delete>
<update id="updateUser" parameterType="User">
update user set
<if test="name!=null and name!=''">
name = #{name},
</if>
<if test="psd!=null and psd!=''">
psd=#{psd},
</if>
<if test="level!=null">
level=#{level},
</if>
id=#{id}
where id = #{id}
</update>
</mapper>
第六步:在test目录下新建测试文件


package cn.xyz.dao.mapper;
import cn.xyz.entity.User;
import cn.xyz.util.SessionFactory;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.Test;
import javax.annotation.Resource;
import java.util.Iterator;
import java.util.List;
import static org.junit.Assert.*;
public class UserMapperTest {
static Logger logger = Logger.getLogger(UserMapperTest.class);
@Test
public void queryUserAll() {
try (SqlSession session = SessionFactory.getSession()){
UserMapper userMapper = session.getMapper(UserMapper.class);
List<User> users = userMapper.queryUserAll();
Iterator<User> it = users.iterator();
while(it.hasNext()){
User user = it.next();
logger.info(user.toString());
}
}
}
来源:https://www.cnblogs.com/Lorentz-Z/p/12274360.html
