本文是《框架学习系列 mybatis 第八篇 mybatis开发dao的方式》文章中所涉及到的代码 代码结构: 需要用到的jar: 具体代码如下: dao接口类: package com.kaigejava.mybatis.daodev.dao;import java.util.List;import com.kaigejava.mybatis.pojo.User;/** * * @author 凯哥Java * @website www.kaigejava.com * 框架学习系列 mybatis 第八篇 mybatis开发dao的方式 * 文章中涉及到的dao接口类 * */public interface IUserDao { //需求如下 //①:根据用户id查询用户信息 User findUserById(int id) throws Exception; //②:根据用户名称模糊查询用户列表 List dao接口实现类: package com.kaigejava.mybatis.daodev.dao.impl;import java.util.List;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import com.kaigejava.mybatis.daodev.dao.IUserDao;import com.kaigejava.mybatis.pojo.User;/** * * @author 凯哥Java * @website www.kaigejava.com * 框架学习系列 mybatis 第八篇 mybatis开发dao的方式 * 文章中涉及到的dao接口实现类 * */public class UserDaoImpl implements IUserDao { //依赖注入的 private SqlSessionFactory sqlSessionFactory; //通过构造器方式将sqlSessionFactory对象注入到UserDaoImpl中 public UserDaoImpl (SqlSessionFactory sqlSessionFactory){ this.sqlSessionFactory =sqlSessionFactory; } /* * 通过id获取用户信息 * @param id 用户id * @retrun User 查询到的对象 * @see com.kaigejava.mybatis.daodev.dao.IUserDao#findUserById(int) */ @Override public User findUserById(int id) throws Exception { //4:由sessionfactroy对象获取到sqlsession对象 SqlSession sqlSession = sqlSessionFactory.openSession; //5:调用sqlsessiond 增删改查方法 //第一个参数:statement的唯一标示。 User user = sqlSession.selectOne('test.findUserById',1); System.out.println(user==null?new User:user.toString); //6:关闭资源 sqlSession.close; return user; } /* * 通过用户名称模糊查询用户对象 * @param name 用户名称 * @return List 测试类: package com.kaigejava.mybatis.daodev.test;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Before;import org.junit.Test;import com.kaigejava.mybatis.daodev.dao.IUserDao;import com.kaigejava.mybatis.daodev.dao.impl.UserDaoImpl;import com.kaigejava.mybatis.pojo.User;/** * * @author 凯哥Java * @website www.kaigejava.com * 框架学习系列 mybatis 第八篇 mybatis开发dao的方式 * 文章中涉及到的测试类 * */public class TestDaoDev { private SqlSessionFactory sqlSessionFactory; @Before public void initSqlSessionFactory throws Exception{ String resource = 'SqlMapConfig.xml'; InputStream inputStream = Resources.getResourceAsStream(resource); //创建SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder.build(inputStream); } @Test public void testFindUserById throws Exception{ IUserDao dao = new UserDaoImpl(sqlSessionFactory); User user = dao.findUserById(1); System.out.println(user); } } 配置文件: SqlMapConfig.xml UserMapper.xml: 日志配置:log4j.properties # Global logging configurationlog4j.rootLogger=DEBUG, stdout# Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n 本篇代码所涉及的文章: 框架学习系列 mybatis 第八篇 mybatis开发dao的方式 |
|
来自: 昵称16619343 > 《办公技能》