<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # Mybatis 簡單實現 ## 開發環境 1、創建測試項目,普通 Java 項目或者是 JavaWeb 項目均可,如下圖所示: ![](https://box.kancloud.cn/e3bdb042b9dea5eb8f62a7297b50d52f_430x161.png) 2、添加相應的 jar 包 Mybatis:mybatis-3.2.2.jar MYSQL驅動包:mysql-connector-java-5.1.8-bin.jar ![](https://box.kancloud.cn/52017e22149e187ee380810da75e9a06_460x344.png) 3、創建數據庫和表,針對 MySQL 數據庫 創建數據庫:mybatis_test SQL腳本如下: ~~~ DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; INSERT INTO `users` VALUES ('1', '張三', '28'); INSERT INTO `users` VALUES ('2', '王五', '25'); ~~~ ## 使用 MyBatis 查詢表中的數據 ### 添加 Mybatis 的配置文件 conf.xml ![](https://box.kancloud.cn/696352ef90239ef5f84f39267b1a8301_462x254.png) conf.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/mybatis_test?useUnicode=true&amp;characterEncoding=UTF-8" /> <property name="username" value="root" /> <property name="password" value="" /> </dataSource> </environment> </environments> </configuration> ~~~ ### 定義表所對應的實體類 如下圖所示: ![](https://box.kancloud.cn/fd5c7a1d184e00b90e67999b378a1a22_449x275.png) User 類的代碼如下: ~~~ package com.ntqingniao.mybatis.entity; /** * users表所對應的實體表 * @author CUI */ public class User { // 實體表的屬性和表的字段名稱一一對應 // 主鍵id private int id; // 名稱 private String name; // 年齡 private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; } } ~~~ ### 定義操作 users 表的 sql 映射文件 userMapper.xml 創建一個 `com.ntqingniao.mybatis.mapping` 包,專門用于存放 sql 映射文件,在包中創建一個userMapper.xml 文件,如下圖所示: ![](https://box.kancloud.cn/61e987375b5f084c6f30c464c89674e6_423x275.png) userMapper.xml 文件的內容如下: ~~~ <?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,namespace的值習慣上設置成包名+sql映射文件名,這樣就能夠保證namespace的值是唯一的 例如namespace="com.ntqingniao.mybatis.mapping.userMapper"就是com.ntqingniao.mybatis.mapping(包名)+userMapper(userMapper.xml文件去除后綴) --> <mapper namespace="com.ntqingniao.mybatis.mapping.userMapper"> <!-- 在select標簽中編寫查詢的SQL語句, 設置select標簽的id屬性為getUser,id屬性值必須是唯一的,不能夠重復.使用parameterType屬性指明查詢時使用的參數類型,resultType屬性指明查詢返回的結果集類型 resultType="com.ntqingniao.mybatis.entity.User"就表示將查詢結果封裝成一個User類的對象返回 User類就是users表所對應的實體類 --> <!-- 根據id查詢得到一個user對象 --> <select id="getUser" parameterType="int" resultType="com.ntqingniao.mybatis.entity.User"> select * from users where id=#{id} </select> </mapper> ~~~ ### 在 conf.xml 文件中注冊 userMapper.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/mybatis_test" /> <property name="username" value="root" /> <property name="password" value="" /> </dataSource> </environment> </environments> <mappers> <!-- 注冊userMapper.xml文件, userMapper.xml位于com.ntqingniao.mybatis.mapping這個包下,所以resource寫成com/ntqingniao/mybatis/mapping/userMapper.xml --> <mapper resource="com/ntqingniao/mybatis/mapping/userMapper.xml" /> </mappers> </configuration> ~~~ ### 編寫測試代碼:執行定義的 select 語句 創建一個Test類,編寫如下的測試代碼: ~~~ package com.ntqingniao.mybatis.test; import java.io.IOException; import java.io.InputStream; import java.io.Reader; 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 com.ntqingniao.mybatis.entity.User; public class Test { public static void main(String[] args) throws IOException { // mybatis的配置文件 String resource = "conf.xml"; // 使用類加載器加載mybatis的配置文件(它也加載關聯的映射文件) InputStream is = Test.class.getClassLoader().getResourceAsStream( resource); // 構建sqlSession的工廠 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is); // 使用MyBatis提供的Resources類加載mybatis的配置文件(它也加載關聯的映射文件) //Reader reader = Resources.getResourceAsReader(resource); // 構建sqlSession的工廠 //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); // 創建能執行映射文件中sql的sqlSession SqlSession session = sessionFactory.openSession(); /** * 映射sql的標識字符串, com.ntqingniao.mybatis.mapping.userMapper是userMapper. * xml文件中mapper標簽的namespace屬性的值, * getUser是select標簽的id屬性值,通過select標簽的id屬性值就可以找到要執行的SQL */ // 映射sql的標識字符串 String statement = "com.ntqingniao.mybatis.mapping.userMapper.getUser"; // 執行查詢返回一個唯一user對象的sql User user = session.selectOne(statement, 1); System.out.println(user); } } ~~~ 執行結果如下: User [id=1, name=張三, age=28] 可以看到,數據庫中的記錄已經成功查詢出來了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看