1、导入Jar包
2、设置全局配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <!--给实体类起一个别名 user --> <typeAlias type="cn.sky.bookshop.beans.User" alias="User" /> </typeAliases> <!--数据源配置 这块用 mysql数据库 --> <environments default="development"> <environment id="development"> <transactionManager type="jdbc" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/ibatis" /> <property name="username" value="root" /> <property name="password" value="215890" /> </dataSource> </environment> </environments> <mappers> <!--userMapper.xml装载进来 同等于把“dao”的实现装载进来 --> <mapper resource="User.xml" /> <mapper resource="UserMapper.xml" /> </mappers> </configuration>
3、编写Javabean
package cn.sky.bookshop.beans; public class User { private int id; private String userName; private String password; private String email; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } @Override public String toString() { return "User [email=" + email + ", id=" + id + ", password=" + password + ", username=" + userName + "]"; } }
4、配置映射文件、
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="test"> <!-- 添加记录 parameterType传入参数类型--> <insert id="insertUser" parameterType="User"> insert into t_user(id,username,password,email)values(#{id},#{userName},#{password},#{email}); </insert> <!-- resultType返回参数类型 --> <select id="findUserByName" parameterType="string" resultType="User"> select * from t_user where username=#{userName}; </select> <delete id="deleteUserById" parameterType="int"> delete from t_user where id=#{id}; </delete> <update id="updateUser" parameterType="User"> update t_user set username=#{userName},password=#{password},email=#{email} where id=#{id}; </update> </mapper>
5、dao接口
package cn.sky.bookshop.dao; import cn.sky.bookshop.beans.User; public interface UserDao { public User findUserByName(String username); public void insertUser(User user); public void deleteUserById(int id); public void updateUser(User user); }
6、dao实现
package cn.sky.bookshop.dao; import org.apache.ibatis.session.SqlSession; import cn.sky.bookshop.beans.User; import cn.sky.bookshop.utils.MyBatisUtil; public class UserDaoImpl implements UserDao { //查找 public User findUserByName(String username) { SqlSession sqlSession = MyBatisUtil.getSqlSession(); User user = sqlSession.selectOne("test.findUserByName",username); sqlSession.close(); return user; } //插入 public void insertUser(User user) { SqlSession sqlSession = MyBatisUtil.getSqlSession(); sqlSession.insert("test.insertUser", user); sqlSession.commit(); sqlSession.close(); } //删除 public void deleteUserById(int id){ SqlSession sqlSession = MyBatisUtil.getSqlSession(); sqlSession.delete("test.deleteUserById", id); sqlSession.commit(); sqlSession.close(); } //更新 public void updateUser(User user){ SqlSession sqlSession = MyBatisUtil.getSqlSession(); sqlSession.update("test.updateUser", user); sqlSession.commit(); sqlSession.close(); } }
7、前面还少了个工具类....MyBatisUtil
package cn.sky.bookshop.utils; import java.io.IOException; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public final class MyBatisUtil { private static SqlSessionFactory sessionFactory; private static String resource = "configuration.xml"; static{ try { sessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(resource)); // sessionFactory.getConfiguration().addMapper(UserDao.class); } catch (IOException e) { e.printStackTrace(); } } public static SqlSession getSqlSession(){ return sessionFactory.openSession(); } }8、Dao测试类
package cn.sky.bookshop.test; import cn.sky.bookshop.beans.User; import cn.sky.bookshop.dao.UserDao; import cn.sky.bookshop.dao.UserDaoImpl; public class UserDaoImplTest { public static UserDao userDao = new UserDaoImpl(); public static void main(String[] args) { // addUser(); // findUser(); // deleteUser(); updateUser(); } public static void addUser(){ User user = new User(); user.setUserName("李四"); user.setPassword("zhangsanw2"); user.setEmail("zserw@qq.com2"); userDao.insertUser(user); } public static void findUser(){ User user = userDao.findUserByName("李四"); System.out.println(user); } public static void deleteUser(){ userDao.deleteUserById(3); } public static void updateUser(){ User user = new User(); user.setId(2); user.setUserName("小吴"); user.setPassword("xiaowu"); user.setEmail("abc@qq.com2"); userDao.updateUser(user); } }