最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis的入門示例代碼

 更新時(shí)間:2016年11月02日 10:50:50   作者:Dream曉  
首先新建一個(gè)JavaWeb項(xiàng)目并導(dǎo)入mybatis依賴的jar包,同時(shí)Mybatis是對(duì)數(shù)據(jù)庫的操作所以我們需要在數(shù)據(jù)庫中新建一個(gè)表user用來演示。下面通過本文給大家詳細(xì)介紹Mybatis的入門示例代碼,感興趣的朋友一起看看吧

首先新建一個(gè)JavaWeb項(xiàng)目并導(dǎo)入mybatis依賴的jar包,同時(shí)Mybatis是對(duì)數(shù)據(jù)庫的操作所以我們需要在數(shù)據(jù)庫中新建一個(gè)表user用來演示。

新建完表之后我們還需要建立相對(duì)應(yīng)的實(shí)體類User.java并添加set和get方法:

public class User {
private String username;
private String password;
private int age;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

在Mybatis中我們需要建立一個(gè)與實(shí)體類相對(duì)應(yīng)的映射文件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">
<!-- 為這個(gè)mapper指定一個(gè)唯一的namespace,namespace的值習(xí)慣上設(shè)置成包名+sql映射文件名)
-->
<mapper namespace="com.mybatis.mapping.userMapper">
<!-- 在select標(biāo)簽中編寫查詢的SQL語句,id屬性值必須是唯一的
使用parameterType屬性指明查詢時(shí)使用的參數(shù)類型,resultType屬性指明查詢返回的結(jié)果集類型
-->
<!-- 
根據(jù)username查詢得到一個(gè)user對(duì)象
-->
<select id="getUser" parameterType="java.lang.String" 
resultType="com.mybatis.po.User">
select * from user where username=#{username}
</select>
<delete id="deleteUser" parameterType="java.lang.String">
delete from user where username=#{username}
</delete>
</mapper>

最后我們需要在src下新建一個(gè)Mybatis與數(shù)據(jù)庫連接的配置文件config.xml,并將上面的userMapper.xml導(dǎo)入,代碼如下:

<?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" />
<!-- 配置數(shù)據(jù)庫連接信息 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 注冊(cè)u(píng)serMapper.xml文件,resource為userMapper.xml所在目錄-->
<mapper resource="com/mybatis/mapping/userMapper.xml"/>
</mappers>
</configuration>

這里的配置數(shù)據(jù)庫連接信息和Hibernate差別不是很大,現(xiàn)在我們新建一個(gè)Test類來測(cè)試一下:

public class Test {
public static void main(String[] args) throws IOException {
//mybatis的配置文件
String resource = "config.xml";
//使用類加載器加載mybatis的配置文件(它也加載關(guān)聯(lián)的映射文件)
InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
//構(gòu)建sqlSession的工廠
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
//打開session
SqlSession session = sessionFactory.openSession();
/**
* 映射sql的標(biāo)識(shí)字符串
*com.mybatis.mapping.userMapper是userMapper.xml文件中mapper標(biāo)簽的namespace屬性的值,
* getUser是select標(biāo)簽的id屬性值,通過select標(biāo)簽的id屬性值就可以找到要執(zhí)行的SQL
*/
String statement = "com.mybatis.mapping.userMapper.getUser";//映射sql的標(biāo)識(shí)字符串
//執(zhí)行查詢返回一個(gè)唯一user對(duì)象的sql
User user = session.selectOne(statement,"username1");
System.out.println(user.getUsername());
String statement2="com.mybatis.mapping.userMapper.deleteUser";
session.delete(statement2,user);
}
}

執(zhí)行selectOne方法會(huì)返回一個(gè)user對(duì)象(如果想要查詢多條數(shù)據(jù)可以用selectList,此方法會(huì)返回List<User>的對(duì)象),我們?cè)诳刂婆_(tái)輸出user對(duì)象的username.執(zhí)行delete方法可以直接將對(duì)象對(duì)應(yīng)的一條數(shù)據(jù)刪除,可以根據(jù)數(shù)據(jù)庫中的變化來判斷是否執(zhí)行成功。下面是我的項(xiàng)目的目錄,大家可以參考一下:

以上就是Mybatis的一個(gè)簡(jiǎn)單示例,當(dāng)然在userMapper.xml中我們還可以用OGNL生成動(dòng)態(tài)sql語句,感興趣的可以自己研究一下。希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Spring?Cloud?Eureka(全面解析)?大白話

    Spring?Cloud?Eureka(全面解析)?大白話

    這篇文章主要介紹了Spring?Cloud?Eureka(全面解析)?大白話,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 解讀@ResponseBody與@RequestBody注解的用法

    解讀@ResponseBody與@RequestBody注解的用法

    這篇文章主要介紹了Spring MVC中的@ResponseBody和@RequestBody注解的用法,@ResponseBody注解用于將Controller方法的返回對(duì)象轉(zhuǎn)換為指定格式(如JSON)并通過Response響應(yīng)給客戶端,@RequestBody注解用于讀取HTTP請(qǐng)求的內(nèi)容
    2024-11-11
  • Quarkus云原生開篇java框架簡(jiǎn)介

    Quarkus云原生開篇java框架簡(jiǎn)介

    Quarkus?是小紅帽開源的專門針對(duì)云容器環(huán)境優(yōu)化的云原生java框架,博主接下來的項(xiàng)目估計(jì)都會(huì)使用這個(gè)框架來開發(fā),相關(guān)的問題都會(huì)記錄在這個(gè)系列,本文是個(gè)開篇
    2022-02-02
  • javaweb判斷當(dāng)前請(qǐng)求是否為移動(dòng)設(shè)備訪問的方法

    javaweb判斷當(dāng)前請(qǐng)求是否為移動(dòng)設(shè)備訪問的方法

    這篇文章主要為大家詳細(xì)介紹了javaweb判斷當(dāng)前請(qǐng)求是否為移動(dòng)設(shè)備訪問的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • java.net.UnknownHostException異常的一般原因及解決步驟

    java.net.UnknownHostException異常的一般原因及解決步驟

    關(guān)于java.net.UnknownHostException大家也許都比較熟悉,這篇文章主要給大家介紹了關(guān)于java.net.UnknownHostException異常的一般原因及解決步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • Java分布式鎖理論(redis、zookeeper))案例詳解

    Java分布式鎖理論(redis、zookeeper))案例詳解

    zookeeper有個(gè)節(jié)點(diǎn)路徑的概念,節(jié)點(diǎn)路徑不能重復(fù),保證了唯一性,這篇文章給大家介紹Java分布式鎖理論(redis、zookeeper)?案例詳解,感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • springboot 整合 langchain4j 實(shí)現(xiàn)簡(jiǎn)單的問答功能

    springboot 整合 langchain4j 實(shí)現(xiàn)簡(jiǎn)單的問答功能

    最近在學(xué)習(xí)langchain4j,本文將介紹如何使用langchain4j快速實(shí)現(xiàn)一個(gè)簡(jiǎn)單的問答功能,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2025-04-04
  • 如何通過Java實(shí)現(xiàn)PDF轉(zhuǎn)高質(zhì)量圖片

    如何通過Java實(shí)現(xiàn)PDF轉(zhuǎn)高質(zhì)量圖片

    在Java中,將PDF文件轉(zhuǎn)換為高質(zhì)量的圖片可以使用不同的庫,其中最常用的庫之一是?Apache?PDFBox,下面我們就來看看這個(gè)庫的具體使用吧
    2024-10-10
  • java實(shí)現(xiàn)圖片文字識(shí)別ocr

    java實(shí)現(xiàn)圖片文字識(shí)別ocr

    這篇文章主要介紹了java實(shí)現(xiàn)圖片文字識(shí)別ocr ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-08-08
  • mybatis 字段名自動(dòng)轉(zhuǎn)小寫的實(shí)現(xiàn)

    mybatis 字段名自動(dòng)轉(zhuǎn)小寫的實(shí)現(xiàn)

    這篇文章主要介紹了mybatis 字段名自動(dòng)轉(zhuǎn)小寫的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

普定县| 日喀则市| 岱山县| 乐亭县| 龙口市| 五原县| 新邵县| 普格县| 无棣县| 张家口市| 手游| 梓潼县| 弋阳县| 杭锦后旗| 吴堡县| 元谋县| 广德县| 太保市| 北川| 泗水县| 凤山市| 三河市| 陕西省| 含山县| 成都市| 闻喜县| 枝江市| 盈江县| 长乐市| 鸡东县| 公主岭市| 孝感市| 贡嘎县| 收藏| 江西省| 静宁县| 绥芬河市| 青冈县| 房山区| 永平县| 湘潭市|