mybatis的HELLOWORD
1.需要的依赖,注意资源导出(非常容易遗漏)
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yeahlam</groupId> <artifactId>mybatisStudy</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <modules> <module>mybatis-01</module> </modules> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> <!--在build中配置resources,来防止我们资源导出失败的问题--> <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources> </build> </project>
2.准备DAO接口
package com.yeahlam.dao; import com.yeahlam.pojo.users; import java.util.List; public interface IUsersDao { List<users> getUserList(); }
3.mybatis不需要实例化DAO层了,但始终需要一个SQL来执行数据库操作,那就是mapper.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="com.yeahlam.dao.IUsersDao"> <select id="getUserList" resultType="com.yeahlam.pojo.users"> select * from users; </select> </mapper>
4.准备mybatis核心文件,核心文件说明使用的数据库,密码等,最重要的就是mapper映射
mybatis-config.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/mybatis01"/> <property name="username" value="root"/> <property name="password" value="xxxx"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/yeahlam/dao/DaoMapper.xml"></mapper> </mappers> </configuration>
5.写一个POJO实体类,数据库中的每条数据将实例化到一个对象
package com.yeahlam.pojo; public class users { private int id; private String username; private String password; public users() { } public users(int id, String username, String password) { this.id = id; this.username = username; this.password = password; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "users{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + '}'; } }
6.创建mybatis的工具类获取session对象,这个和JDBC中connection对象非常相似,通过session可以执行对于的dao接口方法
package com.yeahlam.utils; 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; public class mybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { String resource = "mybatis-config.xml"; InputStream inputStream = null; try { inputStream = Resources.getResourceAsStream(resource); } catch (IOException e) { e.printStackTrace(); } sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(); } }
7.测试
package com.yeahlam.dao; import com.yeahlam.pojo.users; import com.yeahlam.utils.mybatisUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import java.util.List; public class UserDaoTest { @Test public void test(){ SqlSession sqlSession = mybatisUtils.getSqlSession(); IUsersDao usersDao = sqlSession.getMapper(IUsersDao.class); List<users> userList = usersDao.getUserList(); for (users users : userList) { System.out.println(users); } sqlSession.close(); } }
相关推荐
kevincheung 2020-05-17
也许不会看见 2020-01-28
fujing 2014-07-10
ApachePHPMySQL 2014-07-10
糊一笑 2019-12-18
ithzhang 2019-12-12
登峰小蚁 2019-10-24
在旅途 2019-10-06
wangzhe00 2016-04-19
keyxiaodj 2019-09-05
xiaoxin0 2017-07-09
LJ 2016-02-25
fuel 2017-09-25
yangxiaobo 2014-08-21
Selier 2015-03-11
HaleyJenkins 2014-01-08
xiaoxin0 2013-04-20
周太郎 2012-03-03