第一步:创建User实体类(POJO)

package com.xu.pojo;

import java.util.Date;

/**
*
* @author 徐亮亮
* Title: User
* Description: POJO
* Project: mybatis1
* Package: com.xu.pojo
* @date 2018年3月2日 下午11:27:29
* @version 1.0
*/
public class User {
// 属性名和数据库表的字段对应
private int id;
private String username;// 用户姓名
private String sex;// 性别
private Date birthday;// 生日
private String address;// 地址
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 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;
}
}

第二步:创建UserDao接口(进行数据库的增删改查操作,方便其他类继承访问)

package com.xu.dao;

import com.xu.pojo.User;
/**
*
* @author 徐亮亮
* Title: UserDao
* Description: UserDao(功能:用来封装实体类与数据库的访问)
* Project: mybatis1
* Package: com.xu.dao
* @date 2018年3月5日 上午12:52:11
* @version 1.0
*/
public interface UserDao {
//根据id查询用户信息
public User findUserById(int id) throws Exception;
//添加用户信息
public void addUser(User user) throws Exception;
//删除用户信息
public void deleteUSer(int id) throws Exception;
}

第三步:创建UserDaoImpl实现接口类

package com.xu.dao;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory; import com.xu.pojo.User;
/**
*
* @author 徐亮亮
* Title: UserDaoImpl
* Description: 接口的实现类
* Project: mybatis1
* Package: com.xu.dao
* @date 2018年3月5日 上午1:31:35
* @version 1.0
*/
public class UserDaoImpl implements UserDao {
private SqlSessionFactory sqlSessionFactory;
//通过构造方法创建SqlSessionFactory会话工厂
public UserDaoImpl(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory = sqlSessionFactory;
}
/**
* id 查询用户信息
*/
@Override
public User findUserById(int id) throws Exception {
//通过sqlSessionFactory会话工厂创建SqlSession会话
SqlSession sqlSession = sqlSessionFactory.openSession();
//进行数据库的查询操作
User user = sqlSession.selectOne("test.findUserById", id);
//关闭SqlSession会话
sqlSession.close();
return user;
}
/**
* 添加用户信息
*/
@Override
public void addUser(User user) throws Exception {
SqlSession sqlSession = sqlSessionFactory.openSession();
sqlSession.insert("test.addUser", user);
//开启事务
sqlSession.commit();
sqlSession.close();
}
/**
* 删除用户信息
*/
@Override
public void deleteUSer(int id) throws Exception {
SqlSession sqlSession = sqlSessionFactory.openSession();
sqlSession.delete("test.deleteUser", id);
sqlSession.commit();
sqlSession.close();
} }

第四步:测试代码

package com.xu.dao;

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.xu.pojo.User; public class UserDaoImplTest {
private SqlSessionFactory sqlSessionFactory;
@Before
public void setUp() throws Exception {
//取得全局配置文件名称
String resource = "SqlMapConfig.xml";
//得到配置文件流
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建会话工厂
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} @Test
public void testFindUserById() throws Exception {
//实例化UserDao接口
UserDao userDao = new UserDaoImpl(sqlSessionFactory);
User user = userDao.findUserById(1);
System.out.println(user.getUsername()+","+user.getSex());
} @Test
public void testAddUser() throws Exception {
UserDao userDao = new UserDaoImpl(sqlSessionFactory);
User user = new User();
user.setUsername("孙琪");
user.setSex("男");
userDao.addUser(user);
} @Test
public void testDeleteUSer() throws Exception {
UserDao userDao = new UserDaoImpl(sqlSessionFactory);
userDao.deleteUSer(33);
} }

总结:Mybatis框架的主要功能是支持数据的持久化,所以在web开发过程中主要应用与Dao的开发,Dao的功能是封装实体类与数据库的访问过程,则以上代码就是一个很实用的初始化代码。

      本人也是刚刚开始学习Mybatis框架,若有遗漏或理解错误的地方请各位大神评论多多指教。  

最新文章

  1. oc面向对象特性: 多态
  2. JS 时间格式化
  3. 用Jekyll在github上写博客——《搭建一个免费的,无限流量的Blog》的注脚
  4. jQuery 2.0.3 源码分析 Deferrred概念
  5. WebBrowser控件应用:弹出新窗体和关闭窗口
  6. [Java] webservice soap,wsdl 例子
  7. hdu 4081 Qin Shi Huang's National Road System(最小生成树+dp)2011 Asia Beijing Regional Contest
  8. Windows 7 Apache下计算机无法访问局域网网站的问题
  9. C++重难点知识
  10. Oracle RETURNING INTO 用法示例 .
  11. android 获取日期
  12. Windows开发笔记-错误处理
  13. 关于xlrd处理合并单元格
  14. ruby整理
  15. 微信小程序wepy框架开发资源汇总
  16. Unity3d项目入门之虚拟摇杆
  17. [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数
  18. JavaEE 之 Spring(三)
  19. tcl脚本
  20. Project Euler 54

热门文章

  1. PAT甲级——A1121 Damn Single【25】
  2. python爬取凤凰网站的新闻,及其链接地址,来源,时间和内容,用selenium自动化和requests处理数据
  3. css中字体属性的简写
  4. java_序列化
  5. webservice、httpClient、dubbo的区别
  6. druapl-note1 本地开发上传模块不提示Ftp的警告
  7. Jmeter 录制脚本【转】
  8. ERROR in xxx.js from UglifyJs
  9. 《DSP using MATLAB》Problem 8.22
  10. hibernate hql语句 注意事项