01入门
目录
- 一、mybatis的入门
- 1.mybatis的环境搭建
- Ⅰ maven的pom.xml配制
- Ⅱ 创建实体类和dao的接口
- Ⅲ 创建MyBatis的配置文件
- Ⅳ 创建映射配置文件
- 2.环境搭建的注意事项
- 1.mybatis的环境搭建
- 二、测试
- 1.配置log4j文件
- 2.创建测试类
- Ⅰ 步骤
- Ⅱ 代码
- 3.注意细节
- 4.注意事项
一、mybatis的入门
1.mybatis的环境搭建
- SqlMapConfig.xml
- IUserDao.xml
Ⅰ maven的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.MyBatis</groupId><artifactId>MyBatisStudy</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>LATEST</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>LATEST</version></dependency></dependencies></project>Ⅱ 创建实体类和dao的接口
package com.MyBatis01.domain;import java.io.Serializable; import java.util.Date;/*** @program: MyBatisStudy* @description: 实体类* @author: 醉人* @create: 2019-07-20 22:04**/ public class User implements Serializable {private Integer id;private String username;private Date birthday;private Character sex;private String address;public Integer getId(){return id;}public void setId(Integer id){this.id = id;}public String getUsername(){return username;}public void setUsername(String username){this.username = username;}public Date getBirthday(){return birthday;}public void setBirthday(Date birthday){this.birthday = birthday;}public Character getSex(){return sex;}public void setSex(Character sex){this.sex = sex;}public String getAddress(){return address;}public void setAddress(String address){this.address = address;}@Overridepublic String toString(){return "User{" + "id=" + id + ", username='" + username + '\'' + ", birthday=" + birthday + ", sex=" + sex + ", address='" + address + '\'' + '}';} } package com.MyBatis01.dao;import com.MyBatis01.domain.User;import java.util.List;/*** 用户持久层接口*/ public interface IUserDao {/*** 查询所有操作* @return*/List<User> findAll(); }Ⅲ 创建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"><!--mybatis的主配置文件--> <configuration><!--配置环境--><environments default="mysql"><!--配置mysql环境--><environment id="mysql"><!--配置事务类型--><transactionManager type="JDBC"></transactionManager><!--配置数据源,也叫连接池--><!--连接池的选项有三个--><dataSource type="POOLED"><!--配置连接书库的四个基本信息--><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/hibernate_day1?useSSL=false&serverTimezone=GMT"/><property name="username" value="root"/><property name="password" value="1045683477"/></dataSource></environment></environments><!--指定映射配置文件的位置,映射配置文件指的是dao独立的配置文件--><mappers><mapper resource="com/dao/IUserDao.xml" /></mappers> </configuration>Ⅳ 创建映射配置文件
<?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.MyBatis01.dao.IUserDao"><!--配置查询所有 id不可随便写,要写dao的方法名称,resultType返回的类型--><select id="findAll" resultType="com.MyBatis01.domain.User">select *from user;</select> </mapper>2.环境搭建的注意事项
当我们遵从了第三四五点之后,我们在开发中就无需再写dao的实现类
二、测试
1.配置log4j文件
### 配置根 ### log4j.rootLogger = debug,console### 配置输出到控制台 ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n### 配置输出到文件 ### log4j.appender.fileAppender = org.apache.log4j.FileAppender log4j.appender.fileAppender.File = logs/log.log log4j.appender.fileAppender.Append = true log4j.appender.fileAppender.Threshold = DEBUG log4j.appender.fileAppender.layout = org.apache.log4j.PatternLayout log4j.appender.fileAppender.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n2.创建测试类
Ⅰ 步骤
Ⅱ 代码
package com.MyBatis01.test;import com.MyBatis01.dao.IUserDao; import com.MyBatis01.domain.User; 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; import java.util.List;/*** @program: MyBatisStudy* @description: 入门案例* @author: 醉人* @create: 2019-07-21 10:50**/ public class MyBatisTest {public static void main(String[] args){try{//1.读取配置文件InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");//2.创建 SqlSessionFactory 工厂SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();SqlSessionFactory factory=builder.build(in);//3.使用工厂生产 SqlSession 对象SqlSession session=factory.openSession();//4.使用 SqlSession 创建 Dao 接口代理对象IUserDao userDao=session.getMapper(IUserDao.class);//5.使用代理对象执行方法List<User> users=userDao.findAll();for (User user:users){System.out.println(user);}//6.释放资源session.close();in.close();}catch (IOException e){e.printStackTrace();}} }3.注意细节
创建 SqlSessionFactory 工厂
使用工厂生产 SqlSession 对象
使用 SqlSession 创建 Dao 接口代理对象
创建Dao接口实现类代理模式
优势:不修改源码的基础上对已有的方法增强
4.注意事项
转载于:https://www.cnblogs.com/zuiren/p/11406091.html
总结
- 上一篇: 设计原则分享
- 下一篇: 02-基于注解的入门案例