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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mybatis学习笔记(1)——第一个程序

發(fā)布時間:2025/3/20 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mybatis学习笔记(1)——第一个程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

暑期之前就有打算學(xué)習(xí)SSM,但是我記得當(dāng)時再配置一個框架瘋狂報錯,弄得我很難受,,再加上當(dāng)時有點其他事情,所以就放了下來。現(xiàn)在很有需求要會ssm,所以就學(xué)了一下。感覺框架這東西配置就煩的要死。錯一丁點就全錯。。下面開始說配置詳情。

介紹一下這些東西,將mybatis的jar包依賴放入lib目錄。User類是一個bean對象,test類是一個測試類(就是要用到這個服務(wù)的)。conf.xml是全局配置,配置了數(shù)據(jù)庫相關(guān)信息和數(shù)據(jù)庫操作文件的映射(userMapper等數(shù)據(jù)庫操作)。userMapper.xml封裝了數(shù)據(jù)庫操作給test調(diào)用。
首先,數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫

1 create database mybatis; 2 use mybatis; 3 CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT); 4 INSERT INTO users(NAME, age) VALUES('hehe',15 ); //隨便輸入幾條數(shù)據(jù)

在src目錄下建立對應(yīng)的user對象:

package com.test.mybits;public class User {private int id;private String name;private int age;public User(){}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;}public String toString(){return "user [id=" id ",name=" name ",age=" age "]";}}

這樣bean對象就建好了。
下一步建立conf.xml,這個是一個全局配置的xml文件,里面包含連接數(shù)據(jù)庫的相關(guān)信息,有個要注意的是要把 < DOCTYPE confi----/>這個寫在頭。

<?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><properties resource="db.properties"/><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/></dataSource></environment></environments><mappers><mapper resource="userMapper.xml"/><mapper class="com.test.mapper.userMapper2"/></mappers></configuration>

這個和普通JDBC連接差不多。
下一步。創(chuàng)建userMapper.xml對象,進(jìn)行相關(guān)配置

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper SYSTEM "http://mybatis.org/dtd/mybatis-3-mapper.dtd" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"><mapper namespace="userMapper"><!-- 在select標(biāo)簽中編寫查詢的SQL語句, 設(shè)置select標(biāo)簽的id屬性為getUser,id屬性值必須是唯一的,不能夠重復(fù)使用parameterType屬性指明查詢時使用的參數(shù)類型,resultType屬性指明查詢返回的結(jié)果集類型 resultType="me.gacl.domain.User"就表示將查詢結(jié)果封裝成一個User類的對象返回 User類就是users表所對應(yīng)的實體類 --><!-- 根據(jù)id查詢得到一個user對象 --><select resultType="com.test.mybits.User" parameterType="Integer" id="getuser">select * from users where id=#{id} </select><!-- 增刪改查 --><!-- 增 indesert --><insert parameterType="com.test.mybits.User" id="adduser">insert into users(name,age) values(#{name},#{age}) </insert><delete parameterType="Integer" id="deleteuser">delete from users where id=#{id} </delete><update parameterType="com.test.mybits.User" id="updateuser">update users set name=#{name},age=#{age} where id=#{id} </update><select resultType="com.test.mybits.User" id="datesearch">select * from users </select></mapper>

最后編寫test類

package com.test.test1;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.test.mybits.User;public class Test {public static void main(String[] args) throws IOException {// TODO Auto-generated method stubString resource="conf.xml";//使用類加載mybatis驅(qū)動文件,(他也加載關(guān)聯(lián)的附帶文件)// InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);//構(gòu)建sqlsession工廠// SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(is);// 使用MyBatis提供的Resources類加載mybatis的配置文件(它也加載關(guān)聯(lián)的映射文件)Reader reader = Resources.getResourceAsReader(resource); //構(gòu)建sqlSession的工廠SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);//創(chuàng)建能執(zhí)行映射文件中sql的sqlSession//創(chuàng)建sqlsession文件SqlSession session=sessionFactory.openSession();String statement="getuser";User user=session.selectOne(statement,3);System.out.println(user);User user2=session.selectOne(statement,1);System.out.println(user2);//System.out.print(11);} }

運行輸出為:

user [id=3,name=弟弟,age=22] user [id=1,name=張賽,age=21]

根據(jù)個人的數(shù)據(jù)庫查詢出不同結(jié)果。在main函數(shù)中,statement對應(yīng)xml中配置的id。這個只是實現(xiàn)了簡單的查詢功能,后續(xù)的增刪該查都是類似模塊,就是要注意映射的一一對應(yīng)和路徑的問題。

總結(jié)

以上是生活随笔為你收集整理的Mybatis学习笔记(1)——第一个程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一边吃奶一边摸做爽视频 | 欧美综合在线视频 | 亚洲精品偷拍 | 91亚洲国产成人精品一区二区三 | 秋霞久久精品 | 国产youjizz| 亚洲国产精品成人综合久久久 | 日本免费在线视频观看 | 日日碰狠狠添天天爽无码 | 免费一二区 | 精品国产96亚洲一区二区三区 | 91精品黄色 | 天天干,天天爽 | 国产精品福利在线播放 | 男女黄网站 | 福利在线看 | 免费激情av | 黄色香港三级三级三级 | 免费成人深夜夜行p站 | √天堂在线 | 91极品尤物| 日本黄色录像片 | 性开放网站 | 欧美麻豆视频 | 特级黄色大片 | 色就是色欧美 | 亚洲va欧美va天堂v国产综合 | 精品探花 | 奇米一区二区三区 | 黄色69视频 | 国产乱码一区 | 成人精品一区二区三区 | 色爽影院 | 国产第一页屁屁影院 | 你懂的在线观看网址 | www,超碰| 中国性猛交| 欧美国产激情 | www.爆操 | 国产成人午夜高潮毛片 | 成人免费视频一区二区三区 | 色之久久综合 | 日韩免费视频一区 | 日韩二区三区四区 | 欧美日韩精品免费 | 一区小视频 | 亚洲丁香花色 | 九九久久国产视频 | 精品不卡一区 | 天天操夜夜添 | 伊人黄| 狠狠操狠狠摸 | 免费视频99 | 国产+日韩+欧美 | 色欲亚洲Av无码精品天堂 | 精品中文字幕在线 | 在线不卡 | 黑人操亚洲美女 | 乱子伦一区二区三区 | 亚洲va欧美va| 日韩成人免费在线观看 | 亚洲AV不卡无码一区二区三区 | 亚洲高清视频免费观看 | 特级a级片 | 99re在线视频免费观看 | 五月av | 亚洲女同视频 | 日本黄图 | 三级av| 亚洲综合视频在线观看 | 久久人妻少妇嫩草av无码专区 | 亚洲一区二区偷拍 | 激情综合五月网 | 欧美少妇色图 | 日韩精品在线免费观看 | 婷婷综合精品 | 亚洲精品2 | 欧美另类天堂 | 狠狠躁夜夜躁人 | 羞羞的网站在线观看 | 嫩草网站 | 777久久| 51ⅴ精品国产91久久久久久 | 欧美在线色视频 | 69视频免费在线观看 | 欧美高清在线视频 | 黄色网址大全免费 | 涩涩综合 | 免费裸体视频网站 | 欧美一级淫片007 | 亚洲第一网站 | 日韩精品中文字幕在线观看 | 欧美男女交配视频 | av电影在线观看网址 | 一级片免费观看视频 | av片免费看 | 精品人伦一区二区三区 | 国产亚洲av综合人人澡精品 | 国产精品免费精品一区 |