1、在pom.xml中配置:
//依賴配置:
<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </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>
2、創建mybatis-config.xml文件,一般放入maven項目中的resource目錄中:
<?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?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> </configuration>
其中driver為jdbc驅動:com.mysql.jdbc.Driver,url為數據庫地址,username為用戶名,password為密碼。
2、編寫mybatis工具類mybatisUtils:
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、創建一個javabean,字段與表中的字段一致。
public class User { private String username; private String pswd; private String sex; public User(){} public User(String username, String pswd, String sex) { this.username = username; this.pswd = pswd; this.sex = sex; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPswd() { return pswd; } public void setPswd(String pswd) { this.pswd = pswd; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "User{" + "username='" + username + '\'' + ", pswd='" + pswd + '\'' + ", sex='" + sex + '\'' + '}'; } }
4、編寫UserMapper接口:
public interface UserMapper { public List getUserList(); }
5、編寫UserMapper接口對應的xml: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"> <mapper namespace="dao.UserMapper"> <select id="getUserList" resultType="pojo.User"> select * from mybatis.user </select> </mapper>
注意:namespace綁定UserMapper接口,id與接口中的getUserList()方法關聯,resultType綁定剛才編寫的javabean:User
select標簽內容為sql查詢語句:select * from mybatis.user
6、去mybatis-config.xml中把剛才寫的UserMapper.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?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="./dao/UserMapper.xml" /> </mappers> </configuration>
可以發現就是使用了mappers,mapper標簽:
<mappers> <mapper resource="./dao/UserMapper.xml" /> </mappers>
7、編寫測試類進行驗證:
我這里使用junit:
@Test public void test(){ SqlSession sqlSession = new MybatisUtils().getSqlSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); List<User> userList = userMapper.getUserList(); for(User user:userList){ System.out.println(user); } sqlSession.close(); }
結果:
8、最后附上一張項目結構圖以作參考: