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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

MyBatis基础-CRUD

發(fā)布時(shí)間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyBatis基础-CRUD 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、mybatis? 環(huán)境搭建步驟 

第一步:創(chuàng)建 maven 工程
第二步:導(dǎo)入坐標(biāo)
第三步:編寫必要代碼(實(shí)體類和持久層接口)
第四步:編寫 SqlMapConfig.xml
第五步:編寫映射配置文件
第六步:編寫測(cè)試類

二、編寫sqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 主配置文件 -->
<configuration><!-- 配置環(huán)境 --><environments default="mysql"><environment id="mysql"><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><!-- 指定映射配置文件的位置 --><mappers><mapper resource="com/jzq/dao/UserDao.xml"/></mappers>
</configuration>

?

三、?在持久層(DAO)接口中添加CRUD方法?

package com.jzq.dao;import com.jzq.domain.User;import java.util.List;/*** @author jzq* @create 2019-08-24 下午 1:39*/
public interface UserDao {List<User> findAll();/*** 保存方法* @param user*/void saveUser(User user);/*** 修改方法* @param user*/void updateUser(User user);/*** 刪除方法* @param userId*/void deleteUser(Integer userId);/*** 尋找指定id用戶* @param id* @return*/User findUser(Integer id);/*** 模糊查詢*/List<User> findByLikeName(String username);/*** 查詢總用戶數(shù)*/int findTotal();
}

?

四、?在用戶的映射配置文件(Mapper)中配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jzq.dao.UserDao"><select id="findAll" resultType="com.jzq.domain.User">SELECT * from user</select><!-- 保存用戶 --><insert id="saveUser" parameterType="com.jzq.domain.User"><!-- 配置插入操作后,獲取插入數(shù)據(jù)id --><selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">SELECT last_insert_id();</selectKey>INSERT INTO user(username,birthday,sex,address)VALUE (#{username},#{birthday},#{sex},#{address})</insert><!-- 更新用戶 --><update id="updateUser" parameterType="com.jzq.domain.User">UPDATE user set username=#{username},sex=#{sex} WHERE id=#{id};</update><!-- 刪除用戶 --><delete id="deleteUser" parameterType="Integer">DELETE FROM user WHERE id = #{uId}</delete><!-- 查詢指定id用戶 --><select id="findUser" parameterType="Integer" resultType="com.jzq.domain.User">SELECT * from user WHERE id = #{uid}</select><!-- 根據(jù)名稱模糊查詢 --><select id="findByLikeName" parameterType="String" resultType="com.jzq.domain.User">SELECT * from user WHERE username like #{name}</select><!-- 查詢用戶的總記錄數(shù) --><select id="findTotal" resultType="int">SELECT COUNT(id) from user;</select>
</mapper>

?

五、測(cè)試類測(cè)試CRUD方法

package com.jzq.test;import com.jzq.dao.UserDao;
import com.jzq.domain.User;
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 org.junit.After;
import org.junit.Before;
import org.junit.Test;import java.io.InputStream;
import java.util.Date;
import java.util.List;/*** @author jzq* @create 2019-08-24 下午 2:44* CRUD操作*/
public class MyBatisTest {private InputStream in;private SqlSession sqlSession;private SqlSessionFactory factory;private UserDao userDao;@Before//在測(cè)試方法執(zhí)行前執(zhí)行public void init() throws Exception {//讀取配置文件,生成字節(jié)輸入流in = Resources.getResourceAsStream("SqlMapConfig.xml");//獲取sqlSessionFactoryfactory = new SqlSessionFactoryBuilder().build(in);//獲取SQLSession對(duì)象sqlSession = factory.openSession();//獲取dao的代理對(duì)象userDao = sqlSession.getMapper(UserDao.class);}@After//在測(cè)試方法執(zhí)行后執(zhí)行public void destroy() throws Exception {//釋放資源
        sqlSession.commit();sqlSession.close();in.close();}/*** 測(cè)試查詢方法** @throws Exception*/@Testpublic void testFindAll() throws Exception {//執(zhí)行查詢所有方法List<User> users = userDao.findAll();for (User user : users) {System.out.println(user);}//釋放資源
sqlSession.close();in.close();}/*** 測(cè)試保存操作*/@Testpublic void testSave() throws Exception {User user = new User();user.setUsername("mybaitis_save");user.setBirthday(new Date());user.setSex("男");user.setAddress("北京市非臺(tái)區(qū)");//執(zhí)行保存方法
        userDao.saveUser(user);sqlSession.commit();}/*** 測(cè)試保存操作*/@Testpublic void testFindInsertId() throws Exception {User user = new User();user.setUsername("mybaitis_last insert");user.setBirthday(new Date());user.setSex("女");user.setAddress("北京市臺(tái)區(qū)");System.out.println("執(zhí)行保存操作之前" + user);//執(zhí)行保存方法
        userDao.saveUser(user);System.out.println("執(zhí)行保存操作之后" + user);}/*** 測(cè)試更新操作*/@Testpublic void testUpdate() throws Exception {User user = new User();user.setId(50);user.setUsername("mybaitis_update");user.setSex("女");//執(zhí)行查詢所有方法
        userDao.updateUser(user);}/*** 測(cè)試刪除操作*/@Testpublic void testDelete() throws Exception {userDao.deleteUser(48);}/*** 測(cè)試查找指定操作*/@Testpublic void testFindOne() throws Exception {User user = userDao.findUser(50);System.out.println(user);}/*** 測(cè)試模糊查找操作*/@Testpublic void testFindLikeName() throws Exception {List<User> users = userDao.findByLikeName("%小%");for (User user : users) {System.out.println(user);}}/*** 測(cè)試查詢總用戶數(shù)*/@Testpublic void testFindTotal(){int count = userDao.findTotal();System.out.println(count);}
}

?

轉(zhuǎn)載于:https://www.cnblogs.com/strong-FE/p/11422047.html

總結(jié)

以上是生活随笔為你收集整理的MyBatis基础-CRUD的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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