Mybatis實現(xiàn)增刪改查
一.mybatis的配置
1.1 添加相應(yīng)的jar包
在lib文件夾下面添加mybatis的核心jar包以及依賴的jar包
同在lib文件夾下面加入mysql的驅(qū)動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ù)庫的連接 默認使用哪一個數(shù)據(jù)庫連接 --> ?? ?<environments default="mysql"> ?? ??? ?<!-- 配置mysql --> ?? ??? ?<environment id="mysql"> ?? ??? ??? ?<!-- 事務(wù)管理 使用JDBC --> ?? ??? ??? ?<transactionManager type="JDBC"></transactionManager> ?? ??? ??? ?<!-- type 連接屬性 ?? ??? ??? ? UNPOOLED-這個類型的數(shù)據(jù)源實現(xiàn)只是在每次需要的時候簡單地打開和關(guān)閉連接。 ?? ??? ??? ? POOLED-這個數(shù)據(jù)源的實現(xiàn)緩存了JDBC 連接對象,用于避免每次創(chuàng)建新的數(shù)據(jù)庫連接時都初始 化和進行認證,加快程序響應(yīng)。并發(fā)WEB應(yīng)用通常通過這種做法來獲得快速響應(yīng)。 ?? ??? ??? ?NDI- 這個數(shù)據(jù)源的配置是為了準備與像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ù)庫
注意:在設(shè)計數(shù)據(jù)庫時,id的類型為int并且設(shè)置為主鍵。自動遞增。
1.4 創(chuàng)建實體類
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)建接口實現(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對應(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> ? ? <!--查詢一個 ? ? ? 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實現(xiàn)增刪改查的文章就介紹到這了,更多相關(guān)Mybatis增刪改查內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Mybatis注解增刪改查的實例代碼
- Oracle + mybatis實現(xiàn)對數(shù)據(jù)的簡單增刪改查實例代碼
- Spring boot + mybatis + Vue.js + ElementUI 實現(xiàn)數(shù)據(jù)的增刪改查實例代碼(二)
- Spring boot + mybatis + Vue.js + ElementUI 實現(xiàn)數(shù)據(jù)的增刪改查實例代碼(一)
- Mybatis實現(xiàn)數(shù)據(jù)的增刪改查實例(CRUD)
- 簡述Mybatis增刪改查實例代碼
- Mybatis實現(xiàn)增刪改查(CRUD)實例代碼
- SpringBoot整合MybatisPlus實現(xiàn)增刪改查功能
- Mybatis步驟分解實現(xiàn)一個增刪改查程序
相關(guān)文章
Java基礎(chǔ)教程之八大基本數(shù)據(jù)類型
這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)教程之八大基本數(shù)據(jù)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06java實現(xiàn)圖片上加文字水印(SpringMVC + Jsp)
這篇文章主要為大家詳細介紹了java實現(xiàn)在圖片上加文字水印的方法,水印可以是圖片或者文字,操作方便,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05Java微信公眾平臺開發(fā)(12) 微信用戶信息的獲取
這篇文章主要為大家詳細介紹了Java微信公眾平臺開發(fā)第十二步,微信用戶信息的獲取,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04MyBatis-Plus中SimpleQuery查詢實現(xiàn)
本文主要介紹了MyBatis-Plus中SimpleQuery查詢實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08centos7如何通過systemctl啟動springboot服務(wù)代替java -jar方式啟動
這篇文章主要介紹了centos7如何通過systemctl啟動springboot服務(wù)代替java -jar方式啟動,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01java關(guān)鍵字static學(xué)習(xí)心得
本篇文章給大家分享一篇關(guān)于java關(guān)鍵字static的學(xué)習(xí)心得,有這方面需要的朋友學(xué)習(xí)下吧。2018-01-01