02_Mybatis动态代理
生活随笔
收集整理的這篇文章主要介紹了
02_Mybatis动态代理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一. Mybatis官方推薦, 接口動態代理開發
1. 動態代理dao開發規則
1.1. namespace必需是接口的全路徑名。
1.2. 接口的方法名必需與sql id一致。
1.3. 接口的入參與parameterType類型一致。
1.4. 接口的返回值必須與resultType類型一致。
二. Mybatis動態dao開發例子
1. 新建一個名為MyBatisDao的Java工程, 拷入相關jar包
2. 新建User.java
package com.lywgames.domain;import java.util.Date;public class User {private Integer id;private String name;private String sex;private Date birthday;private String address;public User() { }public User(String name, String sex, Date birthday, String address) {this.name = name;this.sex = sex;this.birthday = birthday;this.address = address;}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 getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address+ "]";}}3. 新建UserDao.java數據庫操作接口
package com.lywgames.dao;import java.util.List; import com.lywgames.domain.User;public interface UserDao {public List<User> selectUser(String name);public int insertUser(User user);public int updateUser(User user);public int deleteUser(String name); }4. 在src目錄下新建UserMapper.xml映射文件
5. 在src目錄下新建SqlMapConfig.xml數據庫配置文件
6. 新建Test.java
package com.lywgames;import java.io.InputStream; import java.util.Date; import java.util.List; 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 com.lywgames.dao.UserDao; import com.lywgames.domain.User;public class Test {public static void main(String[] args) {SqlSession sqlSession = null;try {// 指定全局配置文件String resource = "SqlMapConfig.xml";// 讀取配置文件InputStream inputStream = Resources.getResourceAsStream(resource);// 構建sqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 獲取sqlSessionsqlSession = sqlSessionFactory.openSession();UserDao userDao = sqlSession.getMapper(UserDao.class);// 插入操作User insertUser = new User("李陽", "男", new Date(System.currentTimeMillis()), "河南省鄭州市");int insertResult = userDao.insertUser(insertUser);System.out.println("插入操作影響行數:" + insertResult);// 查詢操作List<User> users = userDao.selectUser("李");for (User user : users) {System.out.println(user);}// 更新操作User user = new User(4, "李茹", "女", null, null);int updateResult = userDao.updateUser(user);System.out.println("更新操作影響行數:" + updateResult);// 刪除操作int deleteResult = userDao.deleteUser("衛");System.out.println("刪除操作影響行數:" + deleteResult);// 寫操作, 需要提交事務。sqlSession.commit();} catch (Exception e) {e.printStackTrace();} finally {if(sqlSession != null) {// 釋放資源sqlSession.close();}}} }7. 查看user表數據
8. 運行項目
9. 運行項目后查看user表數據
總結
以上是生活随笔為你收集整理的02_Mybatis动态代理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 01_Mybatis入门
- 下一篇: 03_属性别名映射的配置