一、目录结构- - - - - - 本文代码中有注释可以看懂
mybatis-config.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<!--
标签的要按顺序来,不然会报错,最初我将typeAliases放在properties之前或者environment之后一直报错
-->
<properties resource="jdbc.properties"/>
<!-- 取别名 User=model.User -->
<typeAliases>
<typeAlias alias="User" type="top.xuexibc.model.User"/>
</typeAliases>
<!-- development : 开发模式 -->
<environments default="development">
<environment id="development">
<!-- JDBC事物管理 -->
<transactionManager type="JDBC"/>
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${driverClassName}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
<property name="url" value="${url}"/>
</dataSource>
</environment>
</environments>
<!-- 管理映射文件-->
<mappers>
<mapper resource="top/xuexibc/mapper/UserMapper.xml"/>
</mappers>
</configuration>
jdbc.properties配置文件
username=root
password=root
url=jdbc:mysql://localhost:3306/mybatis
driverClassName=com.mysql.jdbc.Driver
usermapper.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<!-- *mapper.java所在路径 -->
<mapper namespace="top.xuexibc.mapper.UserMapper">
<!-- id是接口中的方法名 user是mybatis-config.xml中的别名 -->
<insert id="insertUser" parameterType="User">
insert into user(username,password) values(#{username},#{password})
</insert>
</mapper>
util包SqlSessionUti类
package top.xuexibc.util;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionUtil {
private static SqlSessionFactory sqlsessionFactory;
public static SqlSession open(){
InputStream inputStream=null;
try {
//读物配置文件
inputStream=Resources.getResourceAsStream("Mybatis-Config.xml");
sqlsessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
} catch (Exception e) {
e.printStackTrace();
}
return sqlsessionFactory.openSession();
}
}
service包UserService类
package top.xuexibc.service;
import org.apache.ibatis.session.SqlSession;
import top.xuexibc.mapper.UserMapper;
import top.xuexibc.model.User;
import top.xuexibc.util.SqlSessionUtil;
public class UserService{
public static void main(String[] args) {
SqlSession sqlsession=SqlSessionUtil.open();
UserMapper usermapper=sqlsession.getMapper(UserMapper.class);
User user=new User("战三","123456");
usermapper.insertUser(user);
sqlsession.commit();
System.out.println("插入成功!");
}
}
记得加上提交sqlsession.commit();不然数据库查询不了插入的数据
效果图: