本文主要介绍了如何使用mybatis进行简单的数据库操作。本人使用的是mybatis3.05。
1.创建数据库表(User表)
CREATETABLE `NewTable` ( `userId` bigint(20) NOTNULL AUTO_INCREMENT , `userName` varchar(30) CHARACTERSET utf8 COLLATE utf8_general_ci NOTNULL , `password` varchar(80) CHARACTERSET utf8 COLLATE utf8_general_ci NOTNULL , `comment` varchar(250) CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL , PRIMARYKEY (`userId`), UNIQUEINDEX `UQ_User_userName` (`userName`) USING BTREE )
2.2. 创建实体类
package com.mybatis.config; publicclass User { privateint userId; private String userName; private String password; private String comment; publicint getUserId() { return userId; } publicvoid setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } publicvoid setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } publicvoid setPassword(String password) { this.password = password; } public String getComment() { return comment; } publicvoid setComment(String comment) { this.comment = comment; } }
3. 定义数据访问接口
package com.mybatis.config; import java.util.List; publicinterface UserDao { publicint insert(User user); publicint update(User user); publicint delete(String userName); public ListselectAll(); publicint countAll(); public User findByUserName(String userName); }
4.创建MyBatis映射文件(UserDaoMapper.xml)
insert into user(userName,password,comment) values(#{userName},#{password},#{comment}) update user set userName=#{userName},password=#{password},comment=#{comment} where userName=#{userName} delete from user where userName=#{userName}
5. 创建mybatis配置文件
6. 编写测试代码
package com.mybatis.config; import java.io.Reader; import java.util.Iterator; import java.util.List; 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 org.junit.Test; publicclass UserDaoTest { @Test publicvoid userDaoTest() throws Exception { String resource ="MyBatis-Configuration.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder(); SqlSessionFactory factory = builder.build(reader); SqlSession session = factory.openSession(); UserDao userDao = session.getMapper(UserDao.class); User user =new User(); user.setUserName("hongye"); user.setPassword("123456"); user.setComment("备注"); userDao.insert(user); System.out.println("记录条数:"+userDao.countAll()); Listusers = userDao.selectAll(); Iterator iter = users.iterator(); while(iter.hasNext()){ User u = iter.next(); System.out.println("用户名:"+u.getUserName()+"密码:"+u.getPassword()); } user.setComment("comment"); userDao.update(user); User u = userDao.findByUserName("hongye"); System.out.println(u.getComment()); userDao.delete("hongye"); System.out.println("记录条数:"+userDao.countAll()); session.commit(); session.close(); } }