<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      01 MyBatis第一個應用程序

      1、MyBatis是什么?

      mybatis是一個基于java的持久層框架。

      2、什么是持久化

      數據由瞬態狀態變為持久狀態。

      3、持久層:

      完成持久化工作的代碼塊。 -- DAO層,將數據存到數據庫

      4、MyBatis作用

      就是幫助程序員將數據存入數據庫中,和從數據庫中取數據。

      5、傳統JDBC操作

      有很多重復代碼塊,比如:數據取出時的封裝,數據庫的建立連接等。通過框架可以減少重復代碼,提高開發效率。

      6、MyBatis是一個半自動化的ORM框架

      O -- object,R -- relationShip,M--mapping。

      7、MyBatis的功能:

      MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis 使用簡單的 XML或注解用于配置和原始映射,將接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java對象)映射成數據庫中的記錄。

      8、mybatis如何使用

      整體的文件:

      1)導入mybatis相關jar包:

      maven依賴或者直接把jar包導入到編譯路徑下。
      本例 從MyBatis的lib(/Users/huqiqi/Library/mybatis-3.5.2/lib)中里面直接拷出來,放到項目的lib文件夾下,另外要導入數據庫驅動包。

      2)編寫mybatis的核心配置文件xml

      mybatis.cfg.xml
      <?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>
          <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/se_db"/>
                      <property name="username" value="root"/>
                      <property name="password" value="root"/>
                  </dataSource>
              </environment>
          </environments>
          <mappers>
              <mapper resource="cn/sxt/entity/Article.mapper.xml"/>
          </mappers>
      </configuration>
      

      易錯說明:
      1?? 數據庫url連接,需要加上 庫名,如 /se_db。
      2?? mappers文件配置,需要加上 mapper.xml 文件的包名。

      3)創建sqlSessionFactory

      package cn.sxt.util;
      
      import java.io.IOException;
      import java.io.InputStream;
      import org.apache.ibatis.io.Resources;
      import org.apache.ibatis.session.SqlSession;
      import org.apache.ibatis.session.SqlSessionFactory;
      import org.apache.ibatis.session.SqlSessionFactoryBuilder;
      
      public class MyBatisUtil {
          public static SqlSessionFactory getSqlSessionFactory() throws IOException {
              String resource = "cn/sxt/util/mybatis.cfg.xml";
              InputStream inputStream = Resources.getResourceAsStream(resource);
              SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
              return sqlSessionFactory;
          }
      
          public static SqlSession getSession() throws IOException {
              SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
              return sqlSessionFactory.openSession();
          }
      }
      

      說明:
      讀取第二步中的配置文件 mybatis.cfg.xml,創建sqlSessionFactory。
      導入報錯說明:外部jar包需要添加到編譯環境.

      4)從SqlSessionFactory中去獲取一個SqlSession

      // MyBatisUtil.java 類增加方法如下:
      public static SqlSession getSession() throws IOException {
          SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
          return sqlSessionFactory.openSession();
      }
      

      說明:通過sqlSessionFactory.openSession() 獲取一個sqlSession。

      5)創建實體類

      -- select id,title,edit_mode from article;
      創建實體類:Article.java

      package cn.sxt.entity;
      
      // select id,title,edit_mode from article;
      public class Article {
          private int id;
          private String title;
          private String edit_mode;
      
          public int getId() {
              return id;
          }
      
          public void setId(int id) {
              this.id = id;
          }
      
          public String getTitle() {
              return title;
          }
      
          public void setTitle(String title) {
              this.title = title;
          }
      
          public String getEdit_mode() {
              return edit_mode;
          }
      
          public void setEdit_mode(String edit_mode) {
              this.edit_mode = edit_mode;
          }
      
          @Override
          public String toString() {
              return "Article{" +
                      "id=" + id +
                      ", title='" + title + '\'' +
                      ", edit_mode='" + edit_mode + '\'' +
                      '}';
          }
      }
      

      6)Mapper的配置,即sql語句的映射文件:

      <?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="cn.sxt.entity.ArticleMapper">
          <select id="selectArticle" resultType="cn.sxt.entity.Article">
              select * from article where id = #{id}
          </select>
      </mapper>
      

      7)測試代碼:

      Test.java 類:

      public class Test {
          public static void main(String[] args) throws IOException {
              SqlSession session = MyBatisUtil.getSession();
              // 第一個參數是 Article.mapper.xml 配置文件中的包名+id的名稱
              // 第二個參數是 配置文件中的參數 #{id} 的值
              Article article = session.selectOne("cn.sxt.entity.ArticleMapper.selectArticle",1);
              System.out.println(article);
          }
      }
      

      結果:

      posted @ 2023-06-19 10:14  hqq的進階日記  閱讀(24)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 五月综合激情婷婷六月| 麻豆tv入口在线看| 扒开双腿猛进入喷水高潮叫声| 国产无遮挡吃胸膜奶免费看| 久久99久久99精品免视看国产成人| 国产日韩av一区二区在线| 国产成人精品久久综合| 深夜视频国产在线观看| 高清无打码一区二区三区| 免费看无码自慰一区二区| 亚洲国产中文字幕精品| 免费观看全黄做爰大片| 久久久久久伊人高潮影院| 昭平县| 国产精品一区二区传媒蜜臀| 久久久久免费看成人影片| 久久久无码人妻精品无码| 亚洲综合区激情国产精品| 精品一区二区三区不卡| 少妇扒开双腿自慰出白浆| 吉川爱美一区二区三区视频| 成人亚洲av免费在线| 天美传媒一区二区| 真实国产老熟女无套内射| av在线播放国产一区| yy111111少妇无码影院| 国产中文一区卡二区不卡| 色一情一乱一伦麻豆| 久久成人国产精品免费软件| 成年站免费网站看v片在线| 18禁无遮挡啪啪无码网站破解版| 内射毛片内射国产夫妻| 开心婷婷五月激情综合社区 | 中文字幕亚洲综合久久2020| 亚洲精品美女一区二区| 亚洲av永久无码天堂影院| 国产欧美日韩高清在线不卡| 2021久久精品国产99国产精品| 国产精品中文字幕日韩| 国产精品久久国产精麻豆99网站| 欧美色欧美亚洲另类二区|