文件结构
SqlMapCongfig.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="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_db?serverTimezone=UTC"/>
<property name="username" value="username"/>
<property name="password" value="password"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/dao/UserDao.xml"></mapper>
</mappers>
</configuration>
com中UserDao接口、mapper
UserDao.java
package com.dao;
import com.pojo.User;
import java.util.List;
public interface UserDao {
List<User> findAll();
}
mapper 使用代理方式实现select
<?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.dao.UserDao">
<!-- 查询全部 -->
<select id="findAll" resultType="com.pojo.User">
select * from USER
</select>
</mapper>
resultType基本类型有很多写法。上面的是自定义的类型。
基本 逻辑 看test中的mybatisTest
package com.test;
import com.dao.UserDao;
import com.pojo.User;
import jdk.internal.util.xml.impl.Input;
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;
import java.util.List;
public class MybatisTest {
public static void main(String[] args) throws IOException {
// 1.读取配置文件
// 创建Io流
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
// 2.创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
// 3.创建SqlSessionFactory对象
SqlSessionFactory factory = builder.build(in);
// 4.创建SqlSession对象
SqlSession session = factory.openSession();
// 5.创建Dao接口的代理对象
UserDao userDao = session.getMapper(UserDao.class);
// 6.执行方法
List<User> users = userDao.findAll();
for (User user:users){
System.out.println(user);
}
// 7.释放资源+提交事务
session.close();
in.close();
}
}
别名应用
SqlMapConfig.xml
<typeAliases>
<package name="com.pojo"/>
</typeAliases>
UserDao.xml
<select id="findAll" resultType="uSeR">
select * from USER
</select>