mybatis没有导入sqlsessionfactory包_MyBatis——搭建第一个MyBatis
MyBatis 是一款優秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設置參數和獲取結果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對象)為數據庫中的記錄。
在學習Maven之前最好先去復習一下JDBC、Mysql、JAVA基礎、Junit和Maven知識。
首先,我們先在IDEA新建一個MAVEN的普通項目并在pom.xml文件內導入相關所需要的jar包。(等待導入的過程中最好去確認下setting->Build,Execution->Build Tools->Maven里使用的版本是不是自己下載安裝的版本)
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>我們再新建一個子module-MyBatis-01創建項目便于后期的維護。因為每個基于 MyBatis 的應用都是以一個 SqlSessionFactory 的實例為核心的,所以采用XML 中構建SqlSessionFactory。先創建XML文件里面包含了對 MyBatis 系統的核心設置,包括獲取數據庫連接實例的數據源(DataSource)以及決定事務作用域和控制方式的事務管理器。
XML 頭部的聲明,它用來驗證 XML 文檔的正確性。environment 元素體中包含了事務管理和連接池的配置。mappers 元素則包含了一組映射器(mapper),這些映射器的 XML 映射文件包含了 SQL 代碼和映射定義信息。為了避免產生亂碼問題,在url后綴加上useUnicode=true&characterEncoding=UTF-8"。
SqlSessionFactoryBuilder這個類可以被實例化、使用和丟棄,一單創建sqlSessionFactory就不再需要它; SqlSessionFactory它一旦被創建就在應用運行期間一直存在;SqlSession每個線程都有一個,但不是線程安全的。即每收到一個Http請求就會打開一個Session,返回一個響應就關閉它。一定要記得Finnaly塊進行關閉操作!
然后通過Resources 的工具類從類路徑位置加載資源文件構建出 SqlSessionFactory 實例。
String resource;InputStream inputStream;{try {//使用MyBatis獲取sqlSessionFactory對象resource = "org/mybatis/example/mybatis-config.xml";inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}public static SqlSession getSessin(){//這樣就可以從sqlSessionFactory中獲得sqlSession實例//它包含了面向數據庫執行執行所有sql語句的方法SqlSession sqlSession = sqlSessionFactory.openSession();return sqlSession;}緊接著我們要建數據庫、建實體類,具體步驟我就一筆帶過啦!
定義Dao層的包,并實現XML文件相當于dao的實現類!
<?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.dao.UserDao"> //命名空間綁定接口類的路徑 //select查詢語句<select id="getUser" resultType="User"> //id為重寫的方法名 resultType為方法返回類型select * from mybatis.user; //查找mbatis數據庫的user表</select> </mapper>然后要mapper注冊,在mybatis-config.xml添加實現UserDao的xml文件的映射關系(這就類似于要在web.xml里面配置Servlet映射)。
<mappers><mapper resource="com/dao/UserMapper.xml"/></mappers> </configuration>運行是出現了這個錯誤...
在Project Structure里面修改了
project setting里修改了
Seetting ->Build->Java compiler里面修改
再不行就修改pom.xml文件
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.encoding>UTF-8</maven.compiler.encoding><java.version>11</java.version><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target></properties>這樣應該就可以了(注意! 最好是修改父module的pom.xml上或者全部pom.xml都修改),然后配置項目文件的導出。
回顧過程:
1.導入mybatis和mysql的jar包
2.創建mybatis-config.xml配置數據庫文件,創建MyBatisUtils工具類加載初始化xml文件
3.寫實體類和接口,寫接口的實現類XML文件,綁定標簽、方法和返回類型,編寫sql語句
4.寫test測試
總結
以上是生活随笔為你收集整理的mybatis没有导入sqlsessionfactory包_MyBatis——搭建第一个MyBatis的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caffe教程翻译:在caffe上训练与
- 下一篇: caffe源码分析:blob.hpp分析