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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

mybatis学习笔记-02-第一个mybatis程序

發布時間:2024/7/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis学习笔记-02-第一个mybatis程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該視頻為狂神說java視頻配套筆記(博主自己手打223,日后做個參考223),b站連接:Mybatis最新完整教程IDEA版【通俗易懂】-02-第一個mybatis程序)

文章目錄

  • 2.第一個mybatis程序
    • 2.1搭建環境
    • 2.2 創建一個模塊
    • 2.3編寫代碼
    • 2.4測試
  • 個人小總結:helloworld ,Mybatis

2.第一個mybatis程序

思路:搭建環境–》導入mybatis–》編寫代碼–》測試

2.1搭建環境

搭建數據庫

CREATE DATABASE 'mybatis'; USE 'mybatis';CREATE TABLE 'user'('id' int(20) not null,'name' varchar(30) default null,'pwd' varchar(30) default null,primary key ('id') )engine=innodb default charset = utf8; # 存儲引擎是innodb。INSERT INEO 'user'('id','name','pwd') VALUES (1,'admin','123456'), (1,'admin2','123456'), (1,'admin3','123456')

關于engine=innobd是什么意思

新建一個目錄

  • 新建一個普通的maven項目
  • 刪除src目錄(將其當作一個父工程)
  • 導入相關的依賴
  • <!-- 導入依賴--><dependencies><!-- mysql驅動--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!-- mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><!-- junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>

    2.2 創建一個模塊

    • 編寫mybatis的核心配置文件
    <?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核心配置文件--> <configuration><environments default="development"><environment id="development"><!--事務管理--><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><mappers><mapper resource="org/mybatis/example/BlogMapper.xml"/></mappers> </configuration>

    useUnicode=true&characterEncoding=UTF-8 的作用

    • 編寫mybatis工具類
    //sqlSessionFactory sqlSession public class MybatisUtils {private static SqlSessionFactory sqlSessionFactory;static{try {// 使用Mybatis第一步: 獲取sqlsessionFactory對象String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}//既然有了 SqlSessionFactory,顧名思義,我們就可以從中獲得 SqlSession 的實例了。public static SqlSession getSqlSession(){// SqlSession 完全包含了面向數據庫執行 SQL 命令所需的所有方法。你可以通過 SqlSession 實例來直接執行已映射的 SQL 語句。return sqlSessionFactory.openSession();}}

    2.3編寫代碼

    • 實體類
    • Dao接口
    package com.yangtao.dao;import com.yangtao.pojo.User;import java.util.List;public interface UserMapper {//查詢全部用戶List<User> getUserList(); }
    • 接口實現類由原來的UserDaoImpl轉化為一個Mapper配置文件
    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--namespace=綁定一個對應的mapper接口--> <mapper namespace="com.yangtao.dao.UserMapper"><!--select查詢語句--><select id="getUserList" resultType="com.yangtao.pojo.User">/*定義sql*/select * from mybatis.user</select> </mapper>

    2.4測試

    注意:

  • 關于 Type interface com.yangtao.dao.UserDao is not known to the MapperRegistry.
  • 報錯的解決方法

    <!-- 每一個Mapper.xml 都需要在Mybatis核心配置文件中注冊!-->

    Type interface com.yangtao.dao.UserDao is not known to the MapperRegistry.

    MapperRegistry.是什么?

    核心配置文件中注冊mappers

    • junit測試
    @Testpublic void test(){// 第一步:獲取SqlSession對象SqlSession sqlSession = MybatisUtils.getSqlSession();// 執行sqlUserDao mapper = sqlSession.getMapper(UserDao.class);List<User> userList = mapper.getUserList();for (User user : userList){System.out.println(user);}//關閉SqlsessionsqlSession.close();}

    你可能遇到的問題?

  • 配置文件沒有注冊
  • 綁定接口錯誤
  • 方法名不對
  • 返回類型不對
  • maven導出資源問題(idea的默認不導出src目錄下的xml文件,可能會造成找不到配置文件的問題)

  • 個人小總結:helloworld ,Mybatis

  • 編寫mybatis-config.xml配置文件,配置一些數據庫連接的設置,之后還需要用這個文件注冊每一個Mapper.xml!

  • 編寫MybatisUtils.java代碼,封裝一些操作,比如讀取上一步操作中的配置文件,創建SqlSessionFactory對象,接著創建一個可以獲取SqlSession對象的方法

    //sqlSessionFactory sqlSession public class MybatisUtils {private static SqlSessionFactory sqlSessionFactory;static{try {// 使用Mybatis第一步: 獲取sqlsessionFactory對象String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}//既然有了 SqlSessionFactory,顧名思義,我們就可以從中獲得 SqlSession 的實例了。public static SqlSession getSqlSession(){// SqlSession 完全包含了面向數據庫執行 SQL 命令所需的所有方法。你可以通過 SqlSession 實例來直接執行已映射的 SQL 語句。return sqlSessionFactory.openSession();} }
  • 寫單獨的mapper.xml文件,寫查詢語句,設置好每一條查詢語句的id和resultType

    <!--select查詢語句--><select id="getUserList" resultType="com.yangtao.pojo.User">/*定義sql*/select * from mybatis.user</select>
  • 實體類要和數據庫表中的數據項對的上

  • 編寫test類,測試代碼是否有錯!單元測試很重要223

  • 總結

    以上是生活随笔為你收集整理的mybatis学习笔记-02-第一个mybatis程序的全部內容,希望文章能夠幫你解決所遇到的問題。

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