• springboot+oracle+mybatis实现crud


    1.项目结构如下

     2.user类的代码

    package com.ximen.entity;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data//生成get和set方法
    @AllArgsConstructor//生成有参构造
    @NoArgsConstructor//生成无参构造
    public class user {
        private int StuId;
        private int Age;
        private int ClassId;
        private String StuName;
        private String Gender;
        //private String JoinDate;
    }

    3.userMapper代码

    package com.ximen.mappers;
    
    import com.ximen.entity.user;
    
    import java.util.List;
    
    public interface userMapper {
        public int save(user user);
        public int delete(int StuId);
        public List<user> findAll();
        public user findById(int StuId);
        public int update(user user);
    }

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

    5.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="db1">
            <environment id="db1">
                <!--            配置JDBC事务-->
                <transactionManager type="JDBC"/>
                <!--            POOLED配置数据源连接池-->
                <dataSource type="POOLED">
                    <property name="driver" value="oracle.jdbc.OracleDriver"/>
                    <property name="url" value="jdbc:oracle:thin:@192.168.7.136:1521/orcl"/>
                    <property name="username" value="banhan"/>
                    <property name="password" value="pass"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="com/ximen/mappers/userMapper.xml"/>
        </mappers>
    </configuration>

    6.Test类

    import com.ximen.entity.user;
    import com.ximen.mappers.userMapper;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.InputStream;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.List;
    import java.util.Scanner;
    
    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);
            //获取当前系统时间
            Date date = new Date();
            Date dNow = new Date( );
            SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
            System.out.println("当前时间为: " + ft.format(dNow));
            //        查询所有用户  注:有数据变动的才用commit提交事务,像查询的话是没有数据变动的,所以不用commit提交事务
          //  List<user> users = mapper.findAll();
          //  for(user user:users){
          //      System.out.println(user);
         //   }
         //   sqlSession.close();
            ////        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();
    
            //通过id查找用户
              user user = mapper.findById(2);
              int mm=user.getAge();
              System.out.println("查询姓名为"+user.getStuName());
              System.out.println("*******查*******");
              System.out.println("查询年龄为"+mm);
              System.out.println("*******增*******");
              Scanner scr  = new Scanner(System.in);
              int  sc =scr.nextInt();
              if (sc ==1){
                  user useradd=new user(3,99,9526,"bruce","男");
                  int save = mapper.save(useradd);
                  sqlSession.commit();//提交事务,有数据变动必须提交事务
                  System.out.println(save+"条添加成功");
              }else{
                  System.out.println("未选择追加");
              }
              sqlSession.close();
    
            //修改
    //        User user = new User(2, "giao2", "321");
    //        int update = mapper.update(user);
    //        sqlSession.commit();
    //        System.out.println(update);
    //        sqlSession.close();
        }
    }

    7.pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>org.example</groupId>
        <artifactId>mybatisTest</artifactId>
        <version>1.0-SNAPSHOT</version>
        <dependencies>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.5</version>
            </dependency>
    
            <dependency>
                <groupId>com.oracle</groupId>
                <artifactId>ojdbc6</artifactId>
                <version>11.2.0.3.0</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>
    
    </project>
  • 相关阅读:
    使用BigDecimal进行精确运算
    Hibernate读书笔记数据过滤
    Hibernate读书笔记Hibernate的关联映射之1N关联映射
    bernate读书笔记条件查询
    Hibernate读书笔记Hibernate的关联映射之NN关联映射
    Hibernate读书笔记缓存
    Hibernate读书笔记事件机制
    解决拦截器的对于参数传递无效问题
    Hibernate读书笔记SQL查询
    Hibernate读书笔记Hibernate的关联映射之组件属性关联关系
  • 原文地址:https://www.cnblogs.com/malun/p/14335086.html
Copyright © 2020-2023  润新知