日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01入门

發布時間:2025/5/22 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一、mybatis的入門
    • 1.mybatis的環境搭建
      • Ⅰ maven的pom.xml配制
      • Ⅱ 創建實體類和dao的接口
      • Ⅲ 創建MyBatis的配置文件
      • Ⅳ 創建映射配置文件
    • 2.環境搭建的注意事項
  • 二、測試
    • 1.配置log4j文件
    • 2.創建測試類
      • Ⅰ 步驟
      • Ⅱ 代碼
    • 3.注意細節
    • 4.注意事項

一、mybatis的入門

1.mybatis的環境搭建

  • 創建 maven工程并導入坐標
  • 創建實體類和dao的接口
  • 創建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&amp;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.環境搭建的注意事項

  • 在 idea 中創建目錄的時候,他和包是不一樣的
  • 包在創建時:com.zuiren.dao 他是三級結構
  • 目錄在創建時:com.zuiren.dao 他是一級結構
  • mybatis的映射文件位置必須和dao接口的包結構相同
  • 映射配置文件的mapper標簽namspace屬性的取值必須是dao接口的全限定類名
  • 映射配置文件的操作配置,id屬性的取值不許是dao接口的方法名
  • 當我們遵從了第三四五點之后,我們在開發中就無需再寫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%n

    2.創建測試類

    Ⅰ 步驟

  • 讀取配置文件
  • 創建SqlSessionFactory工廠
  • 使用工廠生產SqlSession對象
  • 使用SqlSession創建Dao接口代理對象
  • 使用代理對象執行方法
  • 釋放資源
  • Ⅱ 代碼

    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.注意細節

  • 兩種常用讀取方式
  • 使用類加載器,它只能讀取類路勁的配置文件
  • 使用ServletContext對象的getRealPath()
  • 創建 SqlSessionFactory 工廠

  • SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();SqlSessionFactory factory=builder.build(in);
  • 創建工廠 mybatis 使用了構建這模式
  • builder 就是構建者
  • 構建者模式:把對象創建細節隱藏,是使用者直接調用方法即可拿到對象
  • 使用工廠生產 SqlSession 對象

  • 使用工廠模式
  • 優勢:解耦(降低類之間的依賴關系)
  • 使用 SqlSession 創建 Dao 接口代理對象

  • session.getMapper(IUserDao.class);
  • 創建Dao接口實現類代理模式

  • 優勢:不修改源碼的基礎上對已有的方法增強

  • 4.注意事項

  • 不要忘記在映射配置中告知mybatis要封裝到那個實體類中
  • 配置的方式:指定實體類的全限定類名
  • 轉載于:https://www.cnblogs.com/zuiren/p/11406091.html

    總結

    以上是生活随笔為你收集整理的01入门的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。