首先環境搭建
1、建立一個maven項目和一個簡單的java模塊
2、然後建立相應的包,並且進行相關的設置
3、然後數據庫建表,建立一個簡單的用戶表
4、新建一個jdbc的properties配置文件,用於數據庫連接
5、然後編寫好實體類User(注意需要實現序列化)
基本目錄結構
導入相關的依賴
目錄結構詳情
數據庫建表
jdbc.properties配置文件
創建用戶實體類
詳情代碼
1、實體類
package com.mybatis.domain;
import java.io.Serializable;
public class User implements Serializable {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
2、DAO層接口(單表的增刪改查)
package com.mybatis.dao;
import com.mybatis.domain.User;
import java.util.List;
/**
* 單表的增刪該查
*/
public interface IUserDAO {
public List<User> findAll();
public List<User> findByUserName();
public void saveUser(User user);
public void deleteUser(int id);
public void updateUser(User user);
}
3、這裏是重點,創建SqlSession工具類,在Mybatis中用戶增刪改查的一個類就是Sqlsseion接口
package com.mybatis.utils;
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 java.io.IOException;
public class MySqlSessionUtil {
private static SqlSessionFactory sqlSessionFactory;
static {
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
try {
sqlSessionFactory = builder.build(Resources.getResourceAsStream("sqlMapperConfig.xml"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
4、然後在resources文件夾下創建主配置文件
用於加載相關數據庫連接以及查找相關映射文件
<?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"></properties>
<typeAliases>
<package name="com.mybatis.dao"></package>
<package name="com.mybatis.domain"></package>
</typeAliases>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${db.driver}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<package name="com.mybatis.dao"></package>
</mappers>
</configuration>
5、配置映射文件,進行相關的單表增刪改查
<?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="com.mybatis.dao.IUserDAO">
<resultMap id="userMap" type="User">
<id property="id" column="id"></id>
<result property="username" column="user_name"></result>
<result property="password" column="user_pwd"></result>
</resultMap>
<select id="findAll" resultMap="userMap">
select * from usertb;
</select>
</mapper>
6、編寫測試類
package com.mybatis.web;
import com.mybatis.dao.IUserDAO;
import com.mybatis.domain.User;
import com.mybatis.utils.MySqlSessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserServletTest {
@Test
public void findAllTest(){
SqlSession sqlSession = MySqlSessionUtil.getSqlSession();
IUserDAO mapper = sqlSession.getMapper(IUserDAO.class);
List<User> all = mapper.findAll();
for (User user : all) {
System.out.println(user);
}
}
}
7、測試(查詢所有)
該項目鏈接
鏈接:https://pan.baidu.com/s/16iQMrYa-U1Qi7146ZXL3AQ
提取碼:2qxa
單表操作所有代碼(全面)
鏈接:https://pan.baidu.com/s/1hIqJ8lbGxSKXypLfCBuNzQ
提取碼:c51f