分享

代码 框架学习系列 mybatis 第八篇 mybatis开发dao的方式

 昵称16619343 2017-07-20

本文是《框架学习系列 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 findUserByUserName(String name)throws Exception; //③:添加用户 int insertUser2(User user)throws Exception;}

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 查询到的集合 * @see com.kaigejava.mybatis.daodev.dao.IUserDao#findUserByUserName(java.lang.String) */ @Override public List findUserByUserName(String name) throws Exception { //创建SqlSession SqlSession sqlSession = sqlSessionFactory.openSession; //调用SqlSession的增删改查方法 //第一个参数:表示statement的唯一标示 List list = sqlSession.selectList('test.findUserByUserName', '小明'); System.out.println(list); //关闭资源 sqlSession.close; return list; } /* * 向数据库添加用户 * @param user 插入用户对象 * @return int 插入用户id * @see com.kaigejava.mybatis.daodev.dao.IUserDao#insertUser2(com.kaigejava.mybatis.pojo.User) */ @Override public int insertUser2(User user) throws Exception { //创建SqlSession SqlSession sqlSession = sqlSessionFactory.openSession; sqlSession.insert('test.insertUser2', user); System.out.println('最新插入的对象id为:'+user.getId); return user.getId; }}

测试类:

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的方式

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多