一、提示模板配置與Mybatis
阿新 • • 發佈:2022-03-27
1.Mybatis簡介
java基礎(面向物件)--->java高階特性--->web前端(html、css、js、jquery)--->mysql--->jsp/servlet(easyui、dbuils、redis)--->ssm(mybatis、spring、springMVC)--->maven--->ssh(struts2、spring、hibernate)---->svn--->(springboot linux)等
面向物件--->面向介面--->面向切面(面向sm)--->面向元件--->面向服務(duboo)
持久層框架:{mybatis(半自動化框架):操作資料庫時需要使用sql;hibernate(全自動話框架):不需要使用sql語句。}
Mybatis本身是一款資料庫框架
2.Mybatis環境搭建(重要)
第一步:匯入Mybatis需要的jar包
第二步:書寫Mybatis主配置檔案(.properties,Mybatis.XML檔案)
首先建立在工程檔案中建立一個Source folder資料夾,命名為resource
在上述資料夾下建立檔案命名為:mybatis.xml
配置時候一定要注意url中value的書寫
點選檢視程式碼
<?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> <!-- 配置資料庫連線的環境:driver url username password --> <environments default="mysql"> <!-- 配置mysql --> <environment id="mysql"> <!-- 配置事務 --> <transactionManager type="JDBC"></transactionManager> <!-- 配置資料來源 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <!-- xml中配置錯誤,例如需要轉義的字元沒有轉義。url中的&需要轉譯為& 注意?後要加useSSL=false 有些版本的MySQL如果未設定顯式選項,則必須預設建立SSL連線,為了符合不使用SSL的現有應用程式,您可以將verifyServerCertificate屬性設定為false,您需要通過設定useSSL=false顯式禁用SSL,或者設定useSSL=true並提供用於伺服器證書驗證的信任庫 解決方案:在MySQL連線資料庫字串後加上引數&useSSL=false。 --> <property name="url" value="jdbc:mysql://localhost:3306/dt48_mybatis?useSSL=false&serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true"/> <property name="username" value="root"/> <property name="password" value="6174"/> </dataSource> </environment> <!-- <environment id="oracle"></environment> --> </environments> <!-- 關聯區域性配置檔案 --> <mappers> <mapper resource="cn/java/dao/impl/UserDaoImpl.xml"/> </mappers> </configuration>
第三步:書寫區域性配置檔案(xxx.XML)
這個檔案要建立在與dao層的實現中類建立,並且要與類同名以.xml結尾
第四步:啟動Mybatis框架進行,
點選檢視程式碼
/** * Project Name:dt48_mybatis1 * File Name:UserDaoImpl.java * Package Name:cn.java.dao.impl * Date:2022年3月26日下午8:46:20 * Copyright (c) 2022, bluemobi All Rights Reserved. * */ package cn.java.dao.impl; import java.io.IOException; import java.io.InputStream; import java.util.List; 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 org.junit.Test; import cn.java.entity.User; /** * Description: <br/> * Date: 2022年3月26日 下午8:46:20 <br/> * * @author LiuCE * @version * @see */ public class UserDaoImpl { /** * * Description: 獲取users表中的所有資料記錄<br/> * select *from users;---返回--->List<Bean>或者List<Map<String,Object>> * * @author LiuCE * @throws IOException */ @Test public void getAllUsers() throws IOException { // 1.啟動Mybatis框架,SqlSession----->SqlSessionFactory------>SqlSessionFactoryBuilder SqlSessionFactoryBuilder sfb = new SqlSessionFactoryBuilder(); // 2.將Mybatis檔案轉化為流 InputStream ins = Resources.getResourceAsStream("mybatis.xml"); SqlSessionFactory ssf = sfb.build(ins); SqlSession session = ssf.openSession(); // 3.呼叫區域性配置檔案裡的sql語句 List<User> userList = session.selectList("cn.java.dao.impl.UserDaoImpl.getAllUsers"); for (User user : userList) { System.out.println(user); } } }