MyBatis 增、删、改、查操作

柔情只为你懂 2022-05-15 00:08 364阅读 0赞

示例:【MyBatis 增、删、改、查操作】

项目结构如下:

70

创建mybatis-config.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  4. <configuration>
  5. <!-- 默认的环境id为mysql -->
  6. <environments default="mysql">
  7. <environment id="mysql">
  8. <!-- 指定事务管理类型 -->
  9. <transactionManager type="jdbc"/>
  10. <!-- 配置数据库连接 -->
  11. <dataSource type="POOLED">
  12. <property name="driver" value="com.mysql.jdbc.Driver"/>
  13. <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
  14. <property name="username" value="root"/>
  15. <property name="password" value="root"/>
  16. </dataSource>
  17. </environment>
  18. </environments>
  19. <!-- 配置Mapper的位置 -->
  20. <mappers>
  21. <mapper resource="com/mapper/UserMapper.xml"/>
  22. </mappers>
  23. </configuration>

创建SessionFactory

  1. package com.factory;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import org.apache.ibatis.io.Resources;
  5. import org.apache.ibatis.session.SqlSession;
  6. import org.apache.ibatis.session.SqlSessionFactory;
  7. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  8. public class SessionFactory {
  9. private static SqlSessionFactory sessionFactory=null;
  10. //初始化创建SqlSessionFactory对象
  11. static {
  12. try {
  13. //读取配置文件
  14. InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
  15. //根据配置文件构建SqlSessionFactory
  16. sessionFactory=new SqlSessionFactoryBuilder().build(is);
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }
  20. }
  21. //获取SqlSession对象
  22. public static SqlSession getSqlSession() {
  23. return sessionFactory.openSession();
  24. }
  25. // 获取SqlSessionFactory
  26. public static SqlSessionFactory getSqlSessionFactory() {
  27. return sessionFactory;
  28. }
  29. }

创建UserMapper.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <!-- 用户自定义命名空间 -->
  5. <mapper namespace="com.mapper.UserMapper">
  6. <!-- 添加用户 -->
  7. <insert id="addUser" parameterType="com.po.User">
  8. insert into t_user(username,password) values(#{username},#{password})
  9. </insert>
  10. <!-- 删除用户 -->
  11. <delete id="deleteUser" parameterType="int">
  12. delete from t_user where uid=#{uid}
  13. </delete>
  14. <!-- 更新用户 -->
  15. <update id="updateUser" parameterType="com.po.User">
  16. update t_user set username=#{username},password=#{password} where uid=#{uid}
  17. </update>
  18. <!-- 查询用户 -->
  19. <select id="getUserById" parameterType="Integer" resultType="com.po.User">
  20. select * from t_user where uid=#{uid}
  21. </select>
  22. <!-- 查询所有用户 -->
  23. <select id="getUsers" resultType="com.po.User">
  24. select * from t_user
  25. </select>
  26. <!-- 模糊查询 -->
  27. <select id="findUser" resultType="com.po.User" parameterType="String">
  28. select * from t_user where username like CONCAT('%',#{username},'%')
  29. </select>
  30. </mapper>

创建UserDao

  1. package com.dao;
  2. import java.util.List;
  3. import org.apache.ibatis.session.SqlSession;
  4. import com.factory.SessionFactory;
  5. import com.po.User;
  6. public class UserDao {
  7. private SqlSession session=SessionFactory.getSqlSession();
  8. private User user;
  9. private List<User> users;
  10. public SqlSession getSession() {
  11. return session;
  12. }
  13. //增加用户
  14. public void addUser(User user) {
  15. session.insert("com.mapper.UserMapper.addUser",user);
  16. session.commit();
  17. session.close();
  18. }
  19. //删除用户
  20. public void deleteUser(int id) {
  21. session.delete("com.mapper.UserMapper.deleteUser", id);
  22. session.commit();
  23. session.close();
  24. }
  25. //根据 id查询用户
  26. public User getUserById(Integer id) {
  27. user=session.selectOne("com.mapper.UserMapper.getUserById", id);
  28. session.commit();
  29. session.close();
  30. return user;
  31. }
  32. //查询所有用户
  33. public List<User> getUsers(){
  34. users=session.selectList("com.mapper.UserMapper.getUsers");
  35. session.commit();
  36. session.close();
  37. return users;
  38. }
  39. //模糊查询
  40. public List<User> findUser(String username){
  41. users=session.selectList("com.mapper.UserMapper.findUser",username);
  42. session.commit();
  43. session.close();
  44. return users;
  45. }
  46. //更新用户
  47. public void updateUser(User user,int id) {
  48. User u=new User();
  49. u=session.selectOne("com.mapper.UserMapper.getUserById", id);
  50. u.setUsername(user.getUsername());
  51. u.setPassword(user.getPassword());
  52. session.update("com.mapper.UserMapper.updateUser", u);
  53. session.commit();
  54. session.close();
  55. }
  56. }

创建Test

  1. package com.test;
  2. import java.util.List;
  3. import com.dao.UserDao;
  4. import com.po.User;
  5. public class Test {
  6. public static void main(String[] args) {
  7. }
  8. }

增加用户

  1. public static void main(String[] args) {
  2. UserDao userDao=new UserDao();
  3. User user=new User();
  4. user.setUsername("user");
  5. user.setPassword("user123");
  6. userDao.addUser(user);
  7. }

70 1

删除用户

  1. public static void main(String[] args) {
  2. UserDao userDao=new UserDao();
  3. userDao.deleteUser(12);
  4. }

70 2

修改用户

  1. public static void main(String[] args) {
  2. UserDao userDao=new UserDao();
  3. User user=new User();
  4. user.setUsername("李四");
  5. user.setPassword("5622");
  6. userDao.updateUser(user, 3);
  7. }

70 3

根据id查询用户

  1. public static void main(String[] args) {
  2. UserDao userDao=new UserDao();
  3. User user=userDao.getUserById(1);
  4. System.out.println(user);
  5. }

70 4

模糊查询用户

  1. public static void main(String[] args) {
  2. UserDao userDao=new UserDao();
  3. List<User> users=userDao.findUser("an");
  4. for (User u : users) {
  5. System.out.println(u);
  6. }
  7. }

70 5

发表评论

表情:
评论列表 (有 0 条评论,364人围观)

还没有评论,来说两句吧...

相关阅读