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()); } } }