MyBatis入门——如何搭建MyBatis框架
构建MyBatis框架
-
新键一个maven项目
-
pom.xml文件中配置依赖
示例:
<dependencies> <!--mybatis包--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <!--驱动包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.40</version> </dependency> </dependencies>
-
resources文件夹下创建mybatis.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> <!--使用什么环境,default就是对应环境的id--> <environments default="jdbc"> <!--jdbc连接数据库的环境--> <environment id="jdbc"> <!--事务管理器--> <transactionManager type="JDBC"/> <!--数据源,type是连接池的方式进行连接--> <dataSource type="POOLED"> <!--key值是固定的--> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost/数据库名"/> <property name="username" value="用户名"/> <property name="password" value="密码"/> </dataSource> </environment> </environments> <!-- 导入mapper.xml配置文件,里面配置了SQL语句和DAO接口的映射关系--> <mappers> <mapper resource="mapper.xml"/> </mappers> </configuration>
-
resources文件夹下创建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"> <!--SQL语句配置文件,需要在mybatis配置文件中进行加载--> <!--mapper标签用于做SQL语句和方法之间的映射--> <!--一个mapper对应一个类,namespace里面写的是dao接口的完整路径--> <mapper namespace="com.xzk.dao.UserDao"> <!--select的id是方法名--> <!--resultType是查询的结果的一种映射,User类的属性与列名完全一致(bean类),所以查询的结果会转换成User类--> <select id="getAll" resultType="User类的完整路径:包名.类名"> /*具体的sql语句*/ select * from usertest </select> </mapper>
-
测试
-
bean类:
java">public class User { private String uname; private String upsw; public User() { } public User(String uname, String upsw) { this.uname = uname; this.upsw = upsw; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getUpsw() { return upsw; } public void setUpsw(String upsw) { this.upsw = upsw; } @Override public String toString() { return "User{" + "uname='" + uname + '\'' + ", upsw='" + upsw + '\'' + '}'; } }
-
测试类:
java">public class Test1 { public static void main(String[] args) throws IOException { //加载配置文件 Reader reader = Resources.getResourceAsReader("mybatis.xml"); //得到sqlSessionFactoryBuilder SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); SqlSessionFactory build = builder.build(reader); //得到sqlSession SqlSession sqlSession = build.openSession(); //操作sql 传入参数:类名.方法名 List<User> list = sqlSession.selectList("com.xzk.dao.UserDao.getAll"); //遍历 for (User u : list){ System.out.println(u); } //关闭资源 sqlSession.close(); reader.close(); } }
-