2、mybatis的基本使用
對于初學(xué)者,如果進(jìn)行mybatis的學(xué)習(xí)呢?我總結(jié)了幾點(diǎn),會慢慢的更新出來。首先大家需要了解mybatis是什么、用mybatis來做什么、為什么要用mybatis、有什么優(yōu)缺點(diǎn);當(dāng)知道了為什么的時候就開始了解如何用的問題,如何使用mybatis、有幾種使用方式、各種方式的優(yōu)缺點(diǎn),在這個階段也會學(xué)習(xí)mybatis涉及到的一些標(biāo)簽的用法;當(dāng)知道了基礎(chǔ)用法之后,就開始接觸一些高級的用法,例如動態(tài)sql的使用、mybatis的緩存使用等;至此,在實(shí)戰(zhàn)項(xiàng)目中使用mybatis進(jìn)行開發(fā)已經(jīng)沒有問題了。
接下來就開始深入的研究一下mybatis這個持久層的框架,在純技術(shù)的方面進(jìn)行研究,提高自己的能力。首先,大家需要了解一下mybatis的整體技術(shù)架構(gòu)和工作原理;接下來,就開始了解一下mybatis各大核心組件的具體功能及其工作原理。至此,算是對mybatis的原理簡單的了解一下了,由于博主的能力有限,因此對于mybatis的框架技術(shù)研究也就到這里算結(jié)束了。
最后會了解一些其他的東西,例如:mybatis的逆向工程使用、如何開發(fā)一個mybatis插件,在這里會介紹一下mybatis的分頁實(shí)現(xiàn)等。
至此,mybatis也算是入門了,出去就可以和別人說,你稍微了解mybatis框架,對其也多少有一點(diǎn)自己的理解和看法了。
目錄
1、mybatis整體使用步驟
2、針對具體的數(shù)據(jù)操作上,mybatis 有兩種處理方式
3、實(shí)際操作,如何從0開始使用mybatis
3、1 創(chuàng)建maven項(xiàng)目,添加mybatis依賴和mysql驅(qū)動
3、2 創(chuàng)建mybatis全局配置文件mybatis-config.xml,添加數(shù)據(jù)庫配置信息
3、3?整體上使用mybatis的代碼實(shí)現(xiàn)
?4、數(shù)據(jù)處理上的具體實(shí)現(xiàn)方式
4、1?通過直接調(diào)用API的方式使用
4、2?通過接口式編程方式使用
這一節(jié)介紹一下mybatis的基本使用,僅僅停留在使用層面。
1、mybatis整體使用步驟
? ? ? ? 1)根據(jù)mybatis的全局配置文件構(gòu)建對應(yīng)的SqlSessionFactory;
? ? ? ? 2)通過SqlSessionFactory創(chuàng)建對應(yīng)的SqlSession;
? ? ? ? 3)通過SqlSession進(jìn)行接下來的與數(shù)據(jù)庫具體的操作動作;
? ? ? ? 4)SqlSession就是和數(shù)據(jù)庫的一次對話,使用完之后需要關(guān)閉。
2、針對具體的數(shù)據(jù)操作上,mybatis 有兩種處理方式
? ? ? ? 1)創(chuàng)建sql映射的xml文件,之后通過SqlSession直接調(diào)用映射文件中聲明的對應(yīng)的sql。
? ? ? ? 2)創(chuàng)建一個接口,仍然需要使用xml,xml的命名空間必須是接口的全路徑名,之后可以通過SqlSession獲取接口對應(yīng)的代理對象,之后通過代理對象進(jìn)行數(shù)據(jù)的操作。
3、實(shí)際操作,如何從0開始使用mybatis
3、1 創(chuàng)建maven項(xiàng)目,添加mybatis依賴和mysql驅(qū)動
<dependencies><!-- DataBase數(shù)據(jù)庫連接 mysql包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.20</version></dependency><!-- 引入mybatis依賴包 --><!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version></dependency></dependencies>3、2 創(chuàng)建mybatis全局配置文件mybatis-config.xml,添加數(shù)據(jù)庫配置信息
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><properties resource="db.properties"></properties><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/></dataSource></environment></environments><mappers><mapper resource="com/app/test/mapper/UserMapper.xml"/></mappers> </configuration><!-- ----這里通過引入properties文件的方式設(shè)置,peoperties文件內(nèi)容如下----------- -->driver = com.mysql.cj.jdbc.Driver url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT username = root password = *******?此配置文件放在資源類路徑下,如下:
??
3、3?整體上使用mybatis的代碼實(shí)現(xiàn)
// 讀取到配置文件信息 InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");// 根據(jù)配置文件構(gòu)建 SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);// 獲取 SqlSession SqlSession sqlSession = sqlSessionFactory.openSession();// 通過SqlSession進(jìn)行接下來的數(shù)據(jù)處理操作 // 此處是偽代碼,具體實(shí)現(xiàn)在第4部分詳細(xì)說明// 關(guān)閉 SqlSession sqlSession.close();?4、數(shù)據(jù)處理上的具體實(shí)現(xiàn)方式
接下來以獲取數(shù)據(jù)表oa_user 中的id 為5的user信息來進(jìn)行代碼實(shí)現(xiàn),有兩種實(shí)現(xiàn)方式,具體如下:
4、1?通過直接調(diào)用API的方式使用
?1)創(chuàng)建sql映射文件
<?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.app.test.mapper.UserMapper"><select id="selectUser" parameterType="Long" resultType="com.app.test.mapper.User">select * from oa_user where id = #{id}</select> </mapper>?2)使用SqlSession直接調(diào)用API進(jìn)行數(shù)據(jù)處理
// 讀取到配置文件信息 InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");// 根據(jù)配置文件構(gòu)建 SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);// 獲取 SqlSession SqlSession sqlSession = sqlSessionFactory.openSession();// 通過SqlSession進(jìn)行接下來的數(shù)據(jù)處理操作 User user = (User) sqlSession.selectOne("com.app.test.mapper.UserMapper.selectUser", 5L); System.out.println(user);注:如果無法查詢到xml文件時,需要在pom.xml中顯式的聲明一下資源路徑,如下:
<build><resources><resource><directory>src/main/java</directory><filtering>false</filtering><includes><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources> </build>4、2?通過接口式編程方式使用
1)創(chuàng)建sql映射文件,如 4、1 中操作,但需注意,sql映射文件中的命名空間namespace必須是其對應(yīng)的接口的全路徑名
2)創(chuàng)建接口
3)使用SqlSession獲取接口的代理對象,繼而數(shù)據(jù)處理
// 讀取到配置文件信息 InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");// 根據(jù)配置文件構(gòu)建 SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);// 獲取 SqlSession SqlSession sqlSession = sqlSessionFactory.openSession();// 通過SqlSession進(jìn)行接下來的數(shù)據(jù)處理操作 UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.selectUser(5L);// 關(guān)閉 SqlSession sqlSession.close();??
mybatis的基本使用先寫到這里。
總結(jié)
以上是生活随笔為你收集整理的2、mybatis的基本使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水星路由器怎么修改密码水星无线网路由器如
- 下一篇: 新买的路由器怎么设密码买了一个路由器回来