1、configuration核心配置文件
1.1、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>
< environments default = " development" >
< environment id = " development" >
< transactionManager type = " JDBC" />
< dataSource type = " POOLED" >
< property name = " driver" value = " com.mysql.jdbc.Driver" />
< property name = " url" value = " jdbc:mysql://localhost:3306/user?useSSL=false& useUnicode=true& characterEncoding=UTF-8" />
< property name = " username" value = " root" />
< property name = " password" value = " admin" />
</ dataSource>
</ environment>
</ environments>
< mappers>
< mapper resource = " com/kuang/dao/UserMapper.xml" />
</ mappers>
</ configuration>
1.2、dp.properities
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/user?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username=root
password=admin
2、mybatis工具类
2.1、mybatisUtils
package com. jin. 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;
import java. io. InputStream;
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
String resource= "mybatis-config.xml" ;
InputStream inputStream= Resources. getResourceAsStream ( resource) ;
sqlSessionFactory= new SqlSessionFactoryBuilder ( ) . build ( inputStream) ;
} catch ( IOException e) {
e. printStackTrace ( ) ;
}
}
public static SqlSession getSqlSession ( ) {
return sqlSessionFactory. openSession ( ) ;
}
}
3.编写代码
3.1、实体类User
package com. kuang. pojo;
public class User {
private int id;
private String name;
private String pwd;
public User ( ) {
}
public User ( int id, String name, String pwd) {
this . id = id;
this . name = name;
this . pwd = pwd;
}
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 getPwd ( ) {
return pwd;
}
public void setPwd ( String pwd) {
this . pwd = pwd;
}
@Override
public String toString ( ) {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}' ;
}
}
3.2、Dao接口UserMapper
package com. kuang. dao;
import com. kuang. pojo. User;
import java. util. List;
import java. util. Map;
public interface UserMapper {
List< User> getUserList ( ) ;
User getUserById ( int id) ;
int addUser ( User user) ;
int addUser2 ( Map< String, Object> map) ;
int updateUser ( User user) ;
int deleteUser ( int id) ;
List< User> getUserLike ( String value) ;
}
3.3、接口实现类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" >
< ! -- nameplace= 绑定一个对应的Dao/ Mapper接口-- >
< mapper namespace= "com.kuang.dao.UserMapper" >
< select id= "getUserList" resultType= "com.kuang.pojo.User" >
select * from user. user
< / select>
< select id= "getUserById" parameterType= "int" resultType= "com.kuang.pojo.User" >
select * from user. user where id = #{ id}
< / select>
< ! -- 模糊查询-- >
< select id= "getUserLike" resultType= "com.kuang.pojo.User" >
select * from user. user where name like "%" #{ value} "%"
< / select>
< insert id= "addUser" parameterType= "com.kuang.pojo.User" >
insert into user. user ( id, name , pwd) values ( #{ id} , #{ name} , #{ pwd} ) ;
< / insert>
< insert id= "addUser2" parameterType= "map" >
insert into user. user ( id, name, pwd) values ( #{ userid} , #{ userName} , #{ password} ) ;
< / insert>
< update id= "updateUser" parameterType= "com.kuang.pojo.User" >
update user. user set name= #{ name} , pwd= #{ pwd} where id= #{ id}
< / update>
< delete id= "deleteUser" parameterType= "int" >
delete from user. user where id= #{ id}
< / delete>
< / mapper>
4、pom.xml
< dependencies>
< dependency>
< groupId> mysql</ groupId>
< artifactId> mysql-connector-java</ artifactId>
< version> 5.1.47</ version>
</ dependency>
< dependency>
< groupId> org.mybatis</ groupId>
< artifactId> mybatis</ artifactId>
< version> 3.5.2</ version>
</ dependency>
< dependency>
< groupId> junit</ groupId>
< artifactId> junit</ artifactId>
< version> 4.12</ version>
< scope> test</ scope>
</ dependency>
</ dependencies>
< build>
< resources>
< resource>
< directory> src/main/resources</ directory>
< includes>
< include> **/*.properties</ include>
< include> **/*.xml</ include>
</ includes>
< filtering> true</ filtering>
</ resource>
< resource>
< directory> src/main/java</ directory>
< includes>
< include> **/*.properties</ include>
< include> **/*.xml</ include>
</ includes>
< filtering> true</ filtering>
</ resource>
</ resources>
</ build>
5、测试
package com. kuang. dao;
import com. kuang. pojo. User;
import com. kuang. utils. MybatisUtils;
import org. apache. ibatis. session. SqlSession;
import org. junit. Test;
import java. util. List;
public class UserMapperTest {
@Test
public void getUserById ( ) {
SqlSession sqlSession= MybatisUtils. getSqlSession ( ) ;
UserMapper mapper= sqlSession. getMapper ( UserMapper. class ) ;
User user= mapper. getUserById ( 1 ) ;
System. out. println ( user) ;
sqlSession. close ( ) ;
}
}
6、文件结构