第一步:创建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框架,若有遗漏或理解错误的地方请各位大神评论多多指教。