1.Mybatis基础配置
<?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>
<!--别名-->
<!-- 使用别名代替全限定名 -->
<typeAliases>
<typeAlias type="model.User" alias="user"/>
</typeAliases>
<!-- 数据库环境 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!--在xml中 &=&-->
<property name="url" value="jdbc:mysql://localhost:3306/office?useSSL=false&serverTimezone=Hongkong"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 映射文件 -->
<mappers>
<!-- 映射文件存放的位置 -->
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
2.得到SqlSessionFactory
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionFactorytest {
//定义参数
public static SqlSessionFactory sqlSessionFactory=null;
//定义配置文件
public static String resource="mybatis-config.xml";
public static InputStream inputStream;
//构建SesseionFactory
public static SqlSessionFactory getSqlSessionFactoryBuider() {
try {
//读取配置文件
inputStream=Resources.getResourceAsStream(resource);
System.out.println("配置文件加载成功!!");
//SqlSessionFactoryBuilder通过输入流的相关配置得到sqlSessionFactory
}catch(IOException e) {
e.printStackTrace();
}
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
System.out.println("sqlSessionFactory创造成功!!");
return sqlSessionFactory;
}
}
3.数据层开发标准
public interface UserDao {
public List<User> getAllUser();//得到所有的用户
}
4.用XML实现映射器
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.UserDao">
<select id="getAllUser" resultType="User">
select * from user
</select>
</mapper>
5.得到SqlSession
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import dao.UserDao;
import model.User;
import utils.SqlSessionFactorytest;
public class test {
public static void main(String[] args) {
SqlSessionFactory sqlSessionFactory=SqlSessionFactorytest.getSqlSessionFactoryBuider();
SqlSession sqlSession=sqlSessionFactory.openSession();
System.out.println("SqlSession创造成功!!");
//用SqlSession得到Mapper接口
UserDao userDao=sqlSession.getMapper(UserDao.class);
List<User> user=userDao.getAllUser();
if(user!=null) {
System.out.println("数据读取成功!!");
}
for(int x=0;x<user.size();x++) {
User u=user.get(x);
System.out.println(u.getId());
System.out.println(u.getUsername());
System.out.println(u.getPassword());
}
}
}