mybatis的入门
mybatis的環境搭建
? ? ? ? 第一步:創建maven工程并導入坐標
?? ??? ?第二步:創建實體類和dao的接口
?? ??? ?第三步:創建Mybatis的主配置文件
? ? ? ? ? ? ? ? ? ? ? SqlMapConifg.xml
?? ??? ?第四步:創建映射配置文件
? ? ? ? ? ? ? ? ? ? ? IUserDao.xml
?? ?環境搭建的注意事項:
?? ??? ?第一個:創建IUserDao.xml 和 IUserDao.java時名稱是為了和我們之前的知識保持一致。
?? ??? ??? ?在Mybatis中它把持久層的操作接口名稱和映射文件也叫做:Mapper
?? ??? ??? ?所以:IUserDao 和 IUserMapper是一樣的
?? ??? ?第二個:在idea中創建目錄的時候,它和包是不一樣的
?? ??? ??? ?包在創建時:com.dym.dao它是三級結構
?? ??? ??? ?目錄在創建時:com.dym.dao是一級目錄
?? ??? ?第三個:mybatis的映射配置文件位置必須和dao接口的包結構相同
?? ??? ?第四個:映射配置文件的mapper標簽namespace屬性的取值必須是dao接口的全限定類名
?? ??? ?第五個:映射配置文件的操作配置(select),id屬性的取值必須是dao接口的方法名
?? ??? ?當我們遵從了第三,四,五點之后,我們在開發中就無須再寫dao的實現類。
?? ?
mybatis的入門案例
?? ??? ?第一步:讀取配置文件
?? ??? ?第二步:創建SqlSessionFactory工廠
?? ??? ?第三步:創建SqlSession對象
?? ??? ?第四步:創建Dao接口的代理對象
?? ??? ?第五步:執行dao中的方法
?? ??? ?第六步:釋放資源
?? ??? ?注意事項:
?? ??? ??? ?不要忘記在映射配置中告知mybatis要封裝到哪個實體類中
?? ??? ??? ?配置的方式:指定實體類的全限定類名
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.dym</groupId><artifactId>day01_eesy_01mybatis</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version></dependency></dependencies> </project>User.java
package com.dym.domain;import java.io.Serializable; import java.util.Date;public class User implements Serializable{private Integer id;private String username;private Date birthday;private String 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 String getSex() {return sex;}public void setSex(String 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 + '\'' +'}';} }IUserDao.java
package com.dym.dao;import com.dym.domain.User; import java.util.List;/*** 用戶的持久層接口*/ public interface IUserDao {/*** 查詢所有操作* @return*/List<User> findAll(); }SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configurationPUBLIC "-//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"><!-- 配置連接數據庫的4個基本信息 --><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment></environments><!-- 指定映射配置文件的位置,映射配置文件指的是每個dao獨立的配置文件 --><mappers><mapper resource="com/dym/dao/IUserDao.xml"/></mappers> </configuration>IUserDao.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dym.dao.IUserDao"><!--配置查詢所有--><select id="findAll" resultType="com.dym.domain.User">select * from user</select> </mapper>MybatisTest.java
package com.dym.test;import com.dym.dao.IUserDao; import com.dym.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.InputStream; import java.util.List;public class MybatisTest {public static void main(String[] args)throws Exception {//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();} }?
總結
以上是生活随笔為你收集整理的mybatis的入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis 框架概述
- 下一篇: mybatis基于注解的入门案例