Mybatis實現(xiàn)增刪改查
一.mybatis的配置
1.1 添加相應的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">
?? ??? ??? ?<!-- 事務管理 使用JDBC -->
?? ??? ??? ?<transactionManager type="JDBC"></transactionManager>
?? ??? ??? ?<!-- type 連接屬性
?? ??? ??? ? UNPOOLED-這個類型的數(shù)據(jù)源實現(xiàn)只是在每次需要的時候簡單地打開和關閉連接。
?? ??? ??? ? POOLED-這個數(shù)據(jù)源的實現(xiàn)緩存了JDBC 連接對象,用于避免每次創(chuàng)建新的數(shù)據(jù)庫連接時都初始 化和進行認證,加快程序響應。并發(fā)WEB應用通常通過這種做法來獲得快速響應。
?? ??? ??? ?NDI- 這個數(shù)據(jù)源的配置是為了準備與像gpring或應用服務器能夠在外部或者內(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ù)據(jù)庫時,id的類型為int并且設置為主鍵。自動遞增。
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); //刪除的構造方法
? ?public User queryById(Integer id);//查詢的構造方法
? ?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對應接口里面的方法名
? ? 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();
? ?}
? ?//關閉session
? ?public static void closeSession(SqlSession session) {
?? ? ? //提交
?? ? ? session.commit();
?? ? ? //關閉
?? ? ? 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);
?? ?}
到此這篇關于Mybatis實現(xiàn)增刪改查的文章就介紹到這了,更多相關Mybatis增刪改查內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 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)一個增刪改查程序
相關文章
java實現(xiàn)圖片上加文字水印(SpringMVC + Jsp)
這篇文章主要為大家詳細介紹了java實現(xiàn)在圖片上加文字水印的方法,水印可以是圖片或者文字,操作方便,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05
Java微信公眾平臺開發(fā)(12) 微信用戶信息的獲取
這篇文章主要為大家詳細介紹了Java微信公眾平臺開發(fā)第十二步,微信用戶信息的獲取,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
MyBatis-Plus中SimpleQuery查詢實現(xiàn)
本文主要介紹了MyBatis-Plus中SimpleQuery查詢實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08
centos7如何通過systemctl啟動springboot服務代替java -jar方式啟動
這篇文章主要介紹了centos7如何通過systemctl啟動springboot服務代替java -jar方式啟動,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01

