使用mybatis的Vo对象简单完成需求查询
生活随笔
收集整理的這篇文章主要介紹了
使用mybatis的Vo对象简单完成需求查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.題目
查詢表中name為2個字的同學信息
查詢表中姓張的同學的所有信息
查詢表中年齡在20~24歲之間同學的信息
2.在pom.xml中導入需要的jar包
<dependencies><!-- mybatis核心包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency><!-- mysql驅動包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.40</version></dependency><!-- junit測試包 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!-- 日志文件管理包 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.12</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.12</version></dependency></dependencies>3.新建一個pojo類叫做User與數據庫的列名對應
package com.jl.pojo;import java.io.Serializable; public class User implements Serializable {private int id;private String username;private int age;public User() {}public User(int id, String username, int age) {this.id = id;this.username = username;this.age = age;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", age=" + age +'}';}4.新建一個vo類叫做UserVo需要傳遞的參數
package com.jl.vo; public class UserVo {private String firstName;private String name;private int max;private int min;private int age;public String getFirstName() {return firstName;}public void setFirstName(String firstName) {this.firstName = firstName;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getMax() {return max;}public void setMax(int max) {this.max = max;}public int getMin() {return min;}public void setMin(int min) {this.min = min;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public UserVo() {}public UserVo(String firstName, String name, int max, int min, int age) {this.firstName = firstName;this.name = name;this.max = max;this.min = min;this.age = age;}@Overridepublic String toString() {return "UserVo{" +"firstName='" + firstName + '\'' +", name='" + name + '\'' +", max=" + max +", min=" + min +", age=" + age +'}';} }5.配置mybatis的配置文件
- 在resources文件夾下新建映射文件夾mapper,在mapper文件夾下面創建一個UserMapper.xml
- 在resources文件夾下新建mysql.properties文件,存儲數據庫連接信息
- 在resources文件夾下創建mybatis-config.xml文件,存儲mybatis配置信息
6.新建一個dao包,創建一個BaseDao類,用于封裝獲取sqlSession的方法
package com.jl.dao;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 java.io.IOException; import java.io.Reader; public class BaseDao {protected SqlSession getSqlSession(){String fileName = "mybatis-config.xml";Reader reader = null;try {reader = Resources.getResourceAsReader(fileName);} catch (IOException e) {e.printStackTrace();}SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);SqlSession sqlSession = sqlSessionFactory.openSession();//數據庫連接會話,非jsp的session,切勿搞混。return sqlSession;} }7.新建一個UserDao繼承這個BaseDao然后就可以直接使用它的方法
package com.jl.dao;import com.jl.pojo.User; import com.jl.vo.UserVo; import org.apache.ibatis.session.SqlSession;import java.util.List;/*** @author Lee* @date 2019-05-07 17:53*/ public class UserDao extends BaseDao {/***查詢表中name為2個字的同學信息* @param userVo* @return*/public List<User> findByName(UserVo userVo){SqlSession sqlSession = this.getSqlSession();List<User> userList=sqlSession.selectList("findByName",userVo);sqlSession.close();return userList;}/*** 查詢表中姓張的同學的所有信息* @param userVo* @return*/public List<User> findByFirstName(UserVo userVo){SqlSession sqlSession = this.getSqlSession();List<User> userList=sqlSession.selectList("findByFirstName",userVo);sqlSession.close();return userList;}/*** 查詢表中年齡在20~24歲之間同學的信息* @param userVo* @return*/public List<User> findByAge(UserVo userVo){SqlSession sqlSession = this.getSqlSession();List<User> userList=sqlSession.selectList("findByAge",userVo);sqlSession.close();return userList;}/*** 綜合查詢:查詢名為張某,年齡在30歲以下的所有信息* @param userVo* @return*/public List<User> find(UserVo userVo){SqlSession sqlSession = this.getSqlSession();List<User> userList=sqlSession.selectList("find",userVo);sqlSession.close();return userList;}}8. 在test包里面創建一個UserTest
package com.jl;import com.jl.dao.UserDao; import com.jl.pojo.User; import com.jl.vo.UserVo; import org.junit.Test;import java.util.List;public class UserTest {UserDao userDao = new UserDao();UserVo userVo = new UserVo();User user = new User();/*** 查詢表中name為2個字的同學信息*/@Testpublic void findByName() {userVo.setName("__");List<User> userList = userDao.findByName(userVo);System.out.println(userList);}/*** 查詢表中姓張的同學的所有信息*/@Testpublic void findByFirstName() {userVo.setFirstName("張%");List<User> userList = userDao.findByFirstName(userVo);System.out.println(userList);}/*** 查詢表中年齡在20~24歲之間同學的信息*/@Testpublic void findByAge() {userVo.setMin(20);userVo.setMax(24);List<User> userList = userDao.findByAge(userVo);System.out.println(userList);}/*** 綜合查詢:查詢名為張某,年齡在30歲以下的所有信息*/@Testpublic void find(){userVo.setFirstName("張%");userVo.setAge(30);List<User> userList = userDao.find(userVo);System.out.println(userList);} }總結
以上是生活随笔為你收集整理的使用mybatis的Vo对象简单完成需求查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2种方法设置RAR文件打开密码
- 下一篇: Apollo星火计划学习笔记——第四讲P