寫好了前面的入門程序,現在我們來開始寫簡單的 增刪改查: 添加用戶前面已經寫了,下面為了測試我們就多插入幾條數據。
進入正題 1、’刪’ ‘改’ ‘查’ 用戶,首先在原來的 User.xml 表中添加下面的 代碼: 注意事項: - 這里需要說明的是:parameterType 代表傳入參數類型,:resultType代表返回數據類型 - 如果修改需要傳入多個參數時,可以傳入一個對象作為參數。
<?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"><mapper namespace="user"> <!-- 增加 #{}表示 占位符, 等價于原始寫法的 ?--> <insert id="insert" parameterType="com.zll.TestMyBatis.bean.User"> insert into user(parentId,sonId,name,birthday) value(#{parentId},#{sonId},#{name},#{birthday}) </insert> <!-- 增加用戶并返回 id --> <insert id="insertReteunId" parameterType="com.zll.TestMyBatis.bean.User"> <selectKey key注入露點,所以大家要注意 --> <!-- 模糊查詢 ${}符號表示sql使用拼接方式,這樣會參數sql注入露點,所以建議大家使用 #{value} 需要模糊查詢是可以使用 %xxx% --> <select id="findByName" parameterType="string" resultType="com.zll.TestMyBatis.bean.User"> <!-- select * from user where name like "%${value}%" --> select * from user where name like #{value} </select></mapper>進入測試代碼: 插入用戶并返回id:
public void insertUserRetrunId() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlsessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession(); User user = new User(); user.setName("小紅"); user.setBirthday(new Date()); session.insert("user.insertReteunId", user); session.commit(); //注意前面沒有設置id,這里返回的是我們剛插入數據的id System.out.println("這是剛插入的數據id = "+user.getId()); session.close(); }測試結果查看控制臺
執行結果
執行結果:
刪除操作
//刪除了小紅 public void deleteUser() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession(); session.delete("user.deleteById", 7); session.commit(); session.close(); }執行結果:
這里我們都使用junit 測試,下一章我們會進入實際開發中,看看實際開發中是如何使用 MyBatis的
新聞熱點
疑難解答