第二讲 CRUD操作

来源:互联网 发布:三公棋牌软件 编辑:程序博客网 时间:2024/05/22 17:30
一、搭建MyBatis框架

  1. 导入相关jar包
  2. 编写核心配置文件(配置数据库连接的相关信息,以及配置了mapper映射文件)
  3. 编写dao操作
  4. 编写mapper映射文件
  5. 编写实体类

二、CRUD(增、查、改、删)实现步骤










user.mapper.xml

<?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="com.liujie.model.UserMapper">
     
     <!-- 查询单个用户 -->
     <select id="selectUser" resultType="com.liujie.model.User">
           select * from user where id = #{id}
     </select>
     
     <!-- 查询所有用户 -->
     <select id="selectAll" resultType="com.liujie.model.User">
           select * from user
     </select>
     
     <!-- 添加用户 -->
     <insert id="addUser" parameterType="com.liujie.model.User" useGeneratedKeys="true">
           insert into user(name, pwd) values(#{name}, #{pwd})
     </insert>
     
     <!-- 更新用户信息 -->
     <update id="updateUser" parameterType="com.liujie.model.User">
           update user set name=#{name}, pwd=#{pwd} where id=#{id}
     </update>
     
     <!-- 删除用户 -->
     <delete id="deleteUser">
           delete from user where id=#{id}
     </delete>
     
</mapper>








MyBatisUtil.java

public class MyBatisUtil {
     
     //创建SqlSessionFactory
     public static SqlSessionFactory getSqlSessionFactory() throws IOException {
           String resource = "mybatis-config.xml";
           Reader reader = Resources.getResourceAsReader(resource);
           SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
           return sessionFactory;
     }
     
     //获得SqlSession
     public static SqlSession getSqlSession() throws IOException {
           SqlSessionFactory sessionFactory getSqlSessionFactory();
           return sessionFactory.openSession();
     }
}








UserDao.java

public class UserDao {
     
     public User getById(int id) throws IOException {
           SqlSession session = MyBatisUtil.getSqlSession();
           User user = session.selectOne("com.liujie.model.UserMapper.selectUser", id);
           session.close();
           return user;
     }
     
     public List<User> getAll() throws IOException {
           SqlSession session = MyBatisUtil.getSqlSession();
           List<User> list = session.selectList("com.liujie.model.UserMapper.selectAll");
           session.close();
           return list;
     }
     
     public int addUser(User user) throws IOException {
           SqlSession session = MyBatisUtil.getSqlSession();
           int result = session.insert("com.liujie.model.UserMapper.addUser", user);
           session.commit();
           session.close();
           return result;
     }
     
     public int updateUser(User user) throws IOException {
           SqlSession session = MyBatisUtil.getSqlSession();
           //int result = session.update("com.liujie.model.UserMapper.updateUser", user);
           int result = session.insert("com.liujie.model.UserMapper.updateUser", user);
           session.commit();
           session.close();
           return result;
     }
     
     public int deleteUser(int id) throws IOException {
           SqlSession session = MyBatisUtil.getSqlSession();
           //int result = session.insert("com.liujie.model.UserMapper.deleteUser", id);
           int result = session.delete("com.liujie.model.UserMapper.deleteUser", id);
           session.commit();
           session.close();
           return result;
     }
     
}








Test.java

public class Test {
     
     public static void main(String[] args) throws IOException {
           UserDao userDao = new UserDao();
           //System.out.println(userDao.getById(1));
           //User user = new User();
           //User user = userDao.getById(5);
           //user.setName("邹波");
           //user.setPwd("222");
           List<User> list = userDao.getAll();
           for(User user : list) {
                System.out.println(user);
           }
           //System.out.println(userDao.deleteUser(5));
     }
     
}




User.java

public class User {
     
     private int id;
     private String name;
     private String pwd;
     
     //下面省略get、set和toString方法








mybatis-config.xml

<?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>
     <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/test" />
                     <property name="username" value="root" />
                     <property name="password" value="123456" />
                </dataSource>
           </environment>
     </environments>
     <mappers>
           <mapper resource="com/liujie/model/user.mapper.xml" />
     </mappers>
</configuration>

原创粉丝点击