欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis實(shí)現(xiàn)增刪改查

 更新時(shí)間:2022年05月20日 10:31:22   作者:code袁  
這篇文章主要介紹了Mybatis實(shí)現(xiàn)增刪改查,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

一.mybatis的配置

1.1 添加相應(yīng)的jar包

在lib文件夾下面添加mybatis的核心jar包以及依賴的jar包
同在lib文件夾下面加入mysql的驅(qū)動(dòng)jar包

1.2 配置mybatis.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>
? <!-- 配置 properties文件-->
? <properties resource="db.properties"></properties>

?? ?<settings>
?? ??? ?<!-- 配置日志的輸出形式 -->
?? ??? ?<setting name="logImpl" value="LOG4J" />
?? ?</settings>
?? ?<!-- 配置數(shù)據(jù)庫(kù)的連接 默認(rèn)使用哪一個(gè)數(shù)據(jù)庫(kù)連接 -->
?? ?<environments default="mysql">
?? ??? ?<!-- 配置mysql -->
?? ??? ?<environment id="mysql">
?? ??? ??? ?<!-- 事務(wù)管理 使用JDBC -->
?? ??? ??? ?<transactionManager type="JDBC"></transactionManager>
?? ??? ??? ?<!-- type 連接屬性
?? ??? ??? ? UNPOOLED-這個(gè)類型的數(shù)據(jù)源實(shí)現(xiàn)只是在每次需要的時(shí)候簡(jiǎn)單地打開和關(guān)閉連接。
?? ??? ??? ? POOLED-這個(gè)數(shù)據(jù)源的實(shí)現(xiàn)緩存了JDBC 連接對(duì)象,用于避免每次創(chuàng)建新的數(shù)據(jù)庫(kù)連接時(shí)都初始 化和進(jìn)行認(rèn)證,加快程序響應(yīng)。并發(fā)WEB應(yīng)用通常通過這種做法來獲得快速響應(yīng)。
?? ??? ??? ?NDI- 這個(gè)數(shù)據(jù)源的配置是為了準(zhǔn)備與像gpring或應(yīng)用服務(wù)器能夠在外部或者內(nèi)部配置數(shù)據(jù) 源的容器一起使用,然后在NDI 上下文中引用它 -->
?? ??? ??? ?<dataSource type="POOLED">
?? ??? ??? ??? ?<property name="driver" value="${diver}" />
?? ??? ??? ??? ?<property name="url" value="${url}" />
?? ??? ??? ??? ?<property name="username" value="${username}" />
?? ??? ??? ??? ?<property name="password" value="${password}" />
?? ??? ??? ?</dataSource>
?? ??? ?</environment>
?? ?</environments>

?? ?<!-- 配置映射 -->
?? ?<mappers>
?? ??? ?<mapper resource="com/sxt/mapping/UserMapper.xml" />
?? ?</mappers>
</configuration>

1.3 創(chuàng)建數(shù)據(jù)庫(kù)

注意:在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),id的類型為int并且設(shè)置為主鍵。自動(dòng)遞增。

1.4 創(chuàng)建實(shí)體類

package com.sxt.domain;


public class User {
?? ?private Integer ?id;
?? ?private String ?name;
?? ?private String ?address;
?? ?private String ?sex;
?? ?
?? ?public User(){

?? ?}
?? ?//插入
?? ?public User(String name, String address, String sex) {
?? ??? ?super();
?? ??? ?this.name = name;
?? ??? ?this.address = address;
?? ??? ?this.sex = sex;
?? ?}
? ? //查詢
?? ?public User(Integer id, String name, String address, String sex) {
?? ??? ?super();
?? ??? ?this.id = id;
?? ??? ?this.name = name;
?? ??? ?this.address = address;
?? ??? ?this.sex = sex;
?? ?}

?? ?public Integer getId() {
?? ??? ?return id;
?? ?}
?? ?public void setId(Integer id) {
?? ??? ?this.id = id;
?? ?}
?? ?public String getName() {
?? ??? ?return name;
?? ?}
?? ?public void setName(String name) {
?? ??? ?this.name = name;
?? ?}
?? ?public String getAddress() {
?? ??? ?return address;
?? ?}
?? ?public void setAddress(String address) {
?? ??? ?this.address = address;
?? ?}
?? ?public String getSex() {
?? ??? ?return sex;
?? ?}
?? ?public void setSex(String sex) {
?? ??? ?this.sex = sex;
?? ?}
?? ?@Override
?? ?public String toString() {
?? ??? ?return "User [id=" + id + ", name=" + name + ", address=" + address + ", sex=" + sex + "]";
?? ?}
?? ?
?? ?
}

1.5 創(chuàng)建接口實(shí)現(xiàn)的方法

package com.sxt.mapper;

import com.sxt.domain.User;

import java.util.List;

public interface UserMapper {
? ?public void add(User user);
? ?public void update(User user);
? ?public void delete(Integer id); //刪除的構(gòu)造方法
? ?public User queryById(Integer id);//查詢的構(gòu)造方法
? ?public List<User> queryAll();
? ?public List<User> queryLike(User user); //模糊查詢
}

1.6 配置UserMapper.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入頭文件 -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.sxt.mapper.UserMapper"> ?<!-- namespace一般與Mapper接口的限定名一致 -->
? ? <!--添加?
? ? id對(duì)應(yīng)接口里面的方法名
? ? parameterType參數(shù)類型
? ? ?-->
? ? <insert id="add" parameterType="com.sxt.domain.User">
? ? ?insert into user (name,address,sex) values(#{name},#{address},#{sex})
? ? </insert>
? ? <!-- 修改 -->
? ? <update id="update" parameterType="com.sxt.domain.User">
? ? ? update user set name=#{name},address=#{address},sex=#{sex} where id=#{id}
? ? </update>
? ? <!-- 刪除 -->
? ? <delete id="delete" parameterType="java.lang.Integer">
? ? ? ?delete form user where id=#{value}
? ? </delete>
? ? <!--查詢一個(gè) ?
? ? resultType返回值的類型
? ? -->
? ? <select id="queryById" parameterType="java.lang.Integer" resultType="com.sxt.domain.User">
? ? ?select * from user where id=#{value}
? ? </select>
? ? <!-- 全查詢 -->
? ? <select id="queryLike" resultType="com.sxt.domain.User">
? ? ?<!-- ?select * from user where name like #{name} -->
? ? ?select * from user where name like "%"#{name}"%"
? ? </select>
? ? <!-- 模糊查詢 -->
</mapper>

1.7 創(chuàng)建MybatisUtils的方法

package com.sxt.utils;

import java.io.InputStream;

import javax.websocket.Session;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MybatisUtils {
?? ?static InputStream is=MybatisUtils.class.getResourceAsStream("/mybatis.xml");
?? ?//得到SqlSessionFactory
?? ?static SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
?? ?//得到session
? ?public static SqlSession openSession() {
?? ? ? return factory.openSession();
? ?}
? ?//關(guān)閉session
? ?public static void closeSession(SqlSession session) {
?? ? ? //提交
?? ? ? session.commit();
?? ? ? //關(guān)閉
?? ? ? session.close();
?? ? ??
? ?}
}

二、Mybatis的增刪改查

2.1 添加

package com.sxt.text;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.sxt.domain.User;
import com.sxt.mapper.UserMapper;
import com.sxt.utils.MybatisUtils;

public class mybatisTest {
? ? public static void main(String[] args) {
? ? ?? ?SqlSession session=MybatisUtils.openSession();
? ? ? ? UserMapper userMapper=session.getMapper(UserMapper.class);
?? ??? ?// TODO Auto-generated method stub
? ? ?? ? User user=new User("小花", "武漢", "男");
? ? ? ? ?userMapper.add(user);
? ? ? ? ?System.out.println("chen");
? ? ? ? ?MybatisUtils.closeSession(session);
?? ?}

2.2 修改

package com.sxt.text;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.sxt.domain.User;
import com.sxt.mapper.UserMapper;
import com.sxt.utils.MybatisUtils;

public class mybatisTest {
//?? ?SqlSession session=MybatisUtils.openSession();
// ? ?UserMapper userMapper=session.getMapper(UserMapper.class);
// ?@Test
//?? ?public void initData(){
? ? public static void main(String[] args) {
? ? ?? ?SqlSession session=MybatisUtils.openSession();
? ? ? ? UserMapper userMapper=session.getMapper(UserMapper.class);
?? ??? ?// TODO Auto-generated method stub
// ? ??? ? User user=new User("小明", "武漢", "男");
? ? ? ? User user=new User(2,"小花","河北","女");
? ? ? ? ?userMapper.update(user);
? ? ? ? ?MybatisUtils.closeSession(session);
?? ?}

2.3 查詢

package com.sxt.text;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.sxt.domain.User;
import com.sxt.mapper.UserMapper;
import com.sxt.utils.MybatisUtils;

public class mybatisTest {
//?? ?SqlSession session=MybatisUtils.openSession();
// ? ?UserMapper userMapper=session.getMapper(UserMapper.class);
// ?@Test
//?? ?public void initData(){
? ? public static void main(String[] args) {
? ? ?? ?SqlSession session=MybatisUtils.openSession();
? ? ? ? UserMapper userMapper=session.getMapper(UserMapper.class);
?? ??? ?// TODO Auto-generated method stub
// ? ??? ? User user=new User("小明", "武漢", "男");
? ? ? ? //User user=new User(2,"小花","河北","女");
? ? ? ? ?List<User> list=userMapper.queryAll();
? ? ? ? ?System.out.println(list);
? ? ? ? ?MybatisUtils.closeSession(session);
?? ?}

2.4 刪除

package com.sxt.text;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.sxt.domain.User;
import com.sxt.mapper.UserMapper;
import com.sxt.utils.MybatisUtils;

public class mybatisTest {
//?? ?SqlSession session=MybatisUtils.openSession();
// ? ?UserMapper userMapper=session.getMapper(UserMapper.class);
// ?@Test
//?? ?public void initData(){
? ? public static void main(String[] args) {
? ? ?? ?SqlSession session=MybatisUtils.openSession();
? ? ? ? UserMapper userMapper=session.getMapper(UserMapper.class);
?? ??? ?// TODO Auto-generated method stub
// ? ??? ? User user=new User("小明", "武漢", "男");
? ? ? ? //User user=new User(2,"小花","河北","女");
? ? ? ? // List<User> list=userMapper.queryAll();
? ? ? ? ?//System.out.println(list);
? ? ? ? userMapper.delete(3);
? ? ? ? ?MybatisUtils.closeSession(session);
?? ?}

到此這篇關(guān)于Mybatis實(shí)現(xiàn)增刪改查的文章就介紹到這了,更多相關(guān)Mybatis增刪改查內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java基礎(chǔ)教程之八大基本數(shù)據(jù)類型

    Java基礎(chǔ)教程之八大基本數(shù)據(jù)類型

    這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)教程之八大基本數(shù)據(jù)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • java實(shí)現(xiàn)圖片上加文字水印(SpringMVC + Jsp)

    java實(shí)現(xiàn)圖片上加文字水印(SpringMVC + Jsp)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)在圖片上加文字水印的方法,水印可以是圖片或者文字,操作方便,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Mybatis查詢語(yǔ)句返回對(duì)象和泛型集合的操作

    Mybatis查詢語(yǔ)句返回對(duì)象和泛型集合的操作

    這篇文章主要介紹了Mybatis查詢語(yǔ)句返回對(duì)象和泛型集合的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java實(shí)現(xiàn)簡(jiǎn)單QQ登錄界面

    java實(shí)現(xiàn)簡(jiǎn)單QQ登錄界面

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單QQ登錄界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Java微信公眾平臺(tái)開發(fā)(12) 微信用戶信息的獲取

    Java微信公眾平臺(tái)開發(fā)(12) 微信用戶信息的獲取

    這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)開發(fā)第十二步,微信用戶信息的獲取,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Spring Security保護(hù)用戶密碼常用方法詳解

    Spring Security保護(hù)用戶密碼常用方法詳解

    這篇文章主要介紹了Spring Security保護(hù)用戶密碼常用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • MyBatis-Plus中SimpleQuery查詢實(shí)現(xiàn)

    MyBatis-Plus中SimpleQuery查詢實(shí)現(xiàn)

    本文主要介紹了MyBatis-Plus中SimpleQuery查詢實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • centos7如何通過systemctl啟動(dòng)springboot服務(wù)代替java -jar方式啟動(dòng)

    centos7如何通過systemctl啟動(dòng)springboot服務(wù)代替java -jar方式啟動(dòng)

    這篇文章主要介紹了centos7如何通過systemctl啟動(dòng)springboot服務(wù)代替java -jar方式啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • Spring之@Lookup注解詳細(xì)解析

    Spring之@Lookup注解詳細(xì)解析

    這篇文章主要介紹了Spring之@Lookup注解詳細(xì)解析,當(dāng)采用@Autowired注解對(duì)單例bean注依賴的原型bean時(shí),會(huì)由于單例bean只會(huì)創(chuàng)建一次,導(dǎo)致依賴的原型bean也只會(huì)注入一次,@Lookup注解可以較為優(yōu)雅的解決此類問題,需要的朋友可以參考下
    2024-01-01
  • java關(guān)鍵字static學(xué)習(xí)心得

    java關(guān)鍵字static學(xué)習(xí)心得

    本篇文章給大家分享一篇關(guān)于java關(guān)鍵字static的學(xué)習(xí)心得,有這方面需要的朋友學(xué)習(xí)下吧。
    2018-01-01

最新評(píng)論