zoukankan      html  css  js  c++  java
  • 简易MyBatis的CRUD增删查改 西门

    做一个简单实现mybatis的CRUD增删查改

    (提示:途中有啥包没引入的自己根据idea的提示自动引入就好)

    一、建立一个普通的maven工程

    1、一个普通的maven工程就好,直接next

    2、然后设置项目命名,随意起,然后接着往下点就好

    (IDEA版本不同创建maven工程的过程有一丢丢不同,随意应变一下就好)

    二、配置pom.xml文件

    <dependencies>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.5</version>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.20</version>
            </dependency>
    
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.12</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
            </resources>
        </build>
    

    三、随便建个简易的数据库

    为了方便部分老铁,我就把sql语句也奉上了

    CREATE DATABASE `mybatis` ;
    
    USE `mybatis`;
    
    DROP TABLE IF EXISTS `user`;
    
    CREATE TABLE `user` (
      `id` int(10) NOT NULL AUTO_INCREMENT,
      `name` varchar(50) DEFAULT NULL,
      `password` varchar(50) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
    
    insert  into `user`(`id`,`name`,`password`) values (1,'giao','admin'),(2,'giao2','321');
    

    四、创建实体类

    (Lombok没有用过的要先去idea的插件中心下载一个,直接搜索Lombok就好)

    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data//生成get和set方法
    @AllArgsConstructor//生成有参构造
    @NoArgsConstructor//生成无参构造
    public class User {
        private int id;
        private String name;
        private String password;
    }
    

    五、创建mybatis的配置文件

    <?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="db1">
            <environment id="db1">
    <!--            配置JDBC事务-->
                <transactionManager type="JDBC"/>
    <!--            POOLED配置数据源连接池-->
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT"/>
                    <property name="username" value="root"/>
                    <property name="password" value="root"/>
                </dataSource>
            </environment>
        </environments>
    
    </configuration>
    

    六、创建Mapper接口,也就是Dao接口

    (这张图是后来补的,爆红啥的不重要)

    
    import java.util.List;
    
    public interface UserMapper {
        public int save(User user);
        public int dalete(int id);
        public List<User> findAll();
        public User findById(int id);
        public int update(User user);
    }
    
    

    七、创建Mapper的实现配置文件

    <?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">
    <!--namespace:实现接口的全类名-->
    <mapper namespace="com.ximen.mappers.UserMapper">
    <!--    增: id:接口方法名  parameterType:传入参数的类型-->
        <insert id="save" parameterType="com.ximen.entity.User">
            insert into user(name, password) VALUES (#{name},#{password})
        </insert>
    
    <!--    删-->
        <delete id="delete" parameterType="int">
            delete from user where id=#{id}
        </delete>
    
    <!--    查找所有用户: resultType:返回的结果类型-->
        <select id="findAll" resultType="com.ximen.entity.User">
            select * from user
        </select>
    
    <!--    通过id查找用户-->
        <select id="findById" parameterType="int" resultType="com.ximen.entity.User">
            select * from user where id=#{id}
        </select>
    
    <!--    修改-->
        <update id="update" parameterType="com.ximen.entity.User">
            update user set name=#{name},password=#{password} where id=#{id}
        </update>
    
    </mapper>
    

    八、在mybatis的配置文件中注册mapper

    (就加上最下面那几句就好啦)

    <?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="db1">
            <environment id="db1">
    <!--            配置JDBC事务-->
                <transactionManager type="JDBC"/>
    <!--            POOLED配置数据源连接池-->
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT"/>
                    <property name="username" value="root"/>
                    <property name="password" value="root"/>
                </dataSource>
            </environment>
        </environments>
    
        <mappers>
            <mapper resource="com/ximen/mappers/UserMapper.xml"/>
        </mappers>
    
    </configuration>
    

    九、创建测试类,就可以自己跑跑看啦,代码奉上了

    (显示缺少啥包就自己根据idea的提示自动引入就好啦)

    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.InputStream;
    import java.util.List;
    
    public class Test {
        public static void main(String[] args) {
            //通过类加载器加载配置文件
            InputStream inputStream=Test.class.getClassLoader().getResourceAsStream("config.xml");
            SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
            SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
            SqlSession sqlSession = sqlSessionFactory.openSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    
            //增
    //        User user=new User(2,"giao2","123");
    //        int save = mapper.save(user);
    //        sqlSession.commit();//提交事务,有数据变动必须提交事务
    //        System.out.println(save);
    //        sqlSession.close();//关闭sqlSession避免资源浪费
    
            //删
    //        int delete = mapper.delete(3);
    //        sqlSession.commit();
    //        System.out.println(delete);
    //        sqlSession.close();
    
    //        查询所有用户  注:有数据变动的才用commit提交事务,像查询的话是没有数据变动的,所以不用commit提交事务
    //        List<User> users = mapper.findAll();
    //        for(User user:users){
    //            System.out.println(user);
    //        }
    //        sqlSession.close();
    
            //通过id查找用户
    //        User user = mapper.findById(2);
    //        System.out.println(user);
    //        sqlSession.close();
    
            //修改
    //        User user = new User(2, "giao2", "321");
    //        int update = mapper.update(user);
    //        sqlSession.commit();
    //        System.out.println(update);
    //        sqlSession.close();
        }
    }
    

    基本上简易的mybatis的增删查改就是这样了

  • 相关阅读:
    Flutter动画(1)动画基础介绍(重要)
    flutter AnimationController动画1
    flutter 动画示例
    Nginx 搭建图片服务器
    dart中list的map方法获取index
    Flutter 视频缩略图
    Flutter:设置字体不随系统字体大小进行改变
    Flutter 屏幕适配flutter_screenutil使用心得
    flutter 软键盘弹起导致定位底部按钮浮动在键盘上的问题
    C++ 代码小技巧(一)
  • 原文地址:https://www.cnblogs.com/ximensama/p/13515093.html
Copyright © 2011-2022 走看看