zoukankan      html  css  js  c++  java
  • SpringBoot + mybatis + oracle简单使用

    添加依赖

    热部署

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
        <scope>true</scope>
    </dependency>

    热部署配置

    勾选自动构建

    双击shift查找Registry,勾选 automake allow when app running

    mybatis

    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.4</version>
    </dependency>

    mybatis-generator

     <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.7</version>
    </dependency>

    mybatis-generator插件

    <!--添加mybatis generator maven插件-->
    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.6</version>
        <configuration>
            <!--generatorConfig.xml位置-->
            <configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
            <verbose>true</verbose>
            <overwrite>true</overwrite>
        </configuration>
        <executions>
            <execution>
                <id>Generate MyBatis Artifacts</id>
                <goals>
                    <goal>generate</goal>
                </goals>
                <phase>generate-sources</phase>
            </execution>
        </executions>
        <!--此处必须添加oracle驱动包-->
        <dependencies>
            <!-- https://mvnrepository.com/artifact/com.oracle.ojdbc/ojdbc8 -->
            <dependency>
                <groupId>com.oracle.ojdbc</groupId>
                <artifactId>ojdbc8</artifactId>
                <version>19.3.0.0</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.oracle.database.nls/orai18n -->
            <dependency>
                <groupId>com.oracle.database.nls</groupId>
                <artifactId>orai18n</artifactId>
                <version>21.1.0.0</version>
            </dependency>
        </dependencies>
    </plugin>

    Oracle连接驱动

     <!-- https://mvnrepository.com/artifact/com.oracle.ojdbc/ojdbc8 -->
    <dependency>
        <groupId>com.oracle.ojdbc</groupId>
        <artifactId>ojdbc8</artifactId>
        <version>19.3.0.0</version>
    </dependency>        

    配置mybatis

    mybatis-config.xml

    详情见:https://www.cnblogs.com/YC-L/p/14620714.html

    <?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>
    
        <!-- 引用db.properties配置文件 -->
        <properties resource="db.properties"/>
        <!--
            development : 开发模式
            work : 工作模式
         -->
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC" />
                <!-- 配置数据库连接信息 -->
                <dataSource type="POOLED">
                    <!-- value属性值引用db.properties配置文件中配置的值 -->
                    <property name="driver" value="${driver}" />
                    <property name="url" value="${url}" />
                    <property name="username" value="${name}" />
                    <property name="password" value="${password}" />
                </dataSource>
            </environment>
        </environments>
    </configuration>

    db.properties

    url=jdbc:oracle:thin:@//*.*.*.*:1521/ORA19C
    username=sys as sysdba
    password=root
    driver=oracle.jdbc.driver.OracleDriver

    application.properties

    mybatis.config-location=classpath:/mybatis-config.xml
    mybatis.mapper-locations=classpath:/mapper/*.xml

    SpringBoot中classpath:https://www.cnblogs.com/YC-L/p/14628113.html

    使用mybatis-generator生成dao,entity和mapper

    参考文章:https://www.cnblogs.com/YC-L/p/14620323.html

    我的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">
    <mapper namespace="cn.techny.demo.dao.StuInfoDao">
      <resultMap id="BaseResultMap" type="cn.techny.demo.entity.StuInfoEntity">
        <!--
          WARNING - @mbg.generated
          This element is automatically generated by MyBatis Generator, do not modify.
        -->
        <constructor>
          <arg column="STUID" javaType="java.lang.String" jdbcType="VARCHAR" />
          <arg column="STUNAME" javaType="java.lang.String" jdbcType="VARCHAR" />
          <arg column="SEX" javaType="java.lang.String" jdbcType="CHAR" />
          <arg column="AGE" javaType="java.lang.Short" jdbcType="NUMERIC" />
          <arg column="CLASSNO" javaType="java.lang.String" jdbcType="VARCHAR" />
          <arg column="STUADDRESS" javaType="java.lang.String" jdbcType="VARCHAR" />
          <arg column="GRADE" javaType="java.lang.String" jdbcType="CHAR" />
          <arg column="ENROLDATE" javaType="java.util.Date" jdbcType="TIMESTAMP" />
          <arg column="IDNUMBER" javaType="java.lang.String" jdbcType="VARCHAR" />
        </constructor>
      </resultMap>
      <insert id="insert" parameterType="cn.techny.demo.entity.StuInfoEntity">
        <!--
          WARNING - @mbg.generated
          This element is automatically generated by MyBatis Generator, do not modify.
        -->
        insert into STUINFO (STUID, STUNAME, SEX, 
          AGE, CLASSNO, STUADDRESS, 
          GRADE, ENROLDATE, IDNUMBER
          )
        values (#{stuid,jdbcType=VARCHAR}, #{stuname,jdbcType=VARCHAR}, #{sex,jdbcType=CHAR}, 
          #{age,jdbcType=NUMERIC}, #{classno,jdbcType=VARCHAR}, #{stuaddress,jdbcType=VARCHAR}, 
          #{grade,jdbcType=CHAR}, #{enroldate,jdbcType=TIMESTAMP}, #{idnumber,jdbcType=VARCHAR}
          )
      </insert>
      <insert id="insertSelective" parameterType="cn.techny.demo.entity.StuInfoEntity">
        <!--
          WARNING - @mbg.generated
          This element is automatically generated by MyBatis Generator, do not modify.
        -->
        insert into STUINFO
        <trim prefix="(" suffix=")" suffixOverrides=",">
          <if test="stuid != null">
            STUID,
          </if>
          <if test="stuname != null">
            STUNAME,
          </if>
          <if test="sex != null">
            SEX,
          </if>
          <if test="age != null">
            AGE,
          </if>
          <if test="classno != null">
            CLASSNO,
          </if>
          <if test="stuaddress != null">
            STUADDRESS,
          </if>
          <if test="grade != null">
            GRADE,
          </if>
          <if test="enroldate != null">
            ENROLDATE,
          </if>
          <if test="idnumber != null">
            IDNUMBER,
          </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
          <if test="stuid != null">
            #{stuid,jdbcType=VARCHAR},
          </if>
          <if test="stuname != null">
            #{stuname,jdbcType=VARCHAR},
          </if>
          <if test="sex != null">
            #{sex,jdbcType=CHAR},
          </if>
          <if test="age != null">
            #{age,jdbcType=NUMERIC},
          </if>
          <if test="classno != null">
            #{classno,jdbcType=VARCHAR},
          </if>
          <if test="stuaddress != null">
            #{stuaddress,jdbcType=VARCHAR},
          </if>
          <if test="grade != null">
            #{grade,jdbcType=CHAR},
          </if>
          <if test="enroldate != null">
            #{enroldate,jdbcType=TIMESTAMP},
          </if>
          <if test="idnumber != null">
            #{idnumber,jdbcType=VARCHAR},
          </if>
        </trim>
      </insert>
    </mapper>

    我的dao

    package cn.techny.demo.dao;
    
    import cn.techny.demo.entity.StuInfoEntity;
    import org.apache.ibatis.annotations.Mapper;
    
    @Mapper
    public interface StuInfoDao {
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table STUINFO
         *
         * @mbg.generated
         */
        int insert(StuInfoEntity record);
    
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table STUINFO
         *
         * @mbg.generated
         */
        int insertSelective(StuInfoEntity record);
    }

    我的entity

    package cn.techny.demo.entity;
    
    import java.util.Date;
    
    public class StuInfoEntity {
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column STUINFO.STUID
         *
         * @mbg.generated
         */
        private String stuid;
    
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column STUINFO.STUNAME
         *
         * @mbg.generated
         */
        private String stuname;
    
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column STUINFO.SEX
         *
         * @mbg.generated
         */
        private String sex;
    
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column STUINFO.AGE
         *
         * @mbg.generated
         */
        private Short age;
    
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column STUINFO.CLASSNO
         *
         * @mbg.generated
         */
        private String classno;
    
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column STUINFO.STUADDRESS
         *
         * @mbg.generated
         */
        private String stuaddress;
    
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column STUINFO.GRADE
         *
         * @mbg.generated
         */
        private String grade;
    
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column STUINFO.ENROLDATE
         *
         * @mbg.generated
         */
        private Date enroldate;
    
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column STUINFO.IDNUMBER
         *
         * @mbg.generated
         */
        private String idnumber;
    
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table STUINFO
         *
         * @mbg.generated
         */
        public StuInfoEntity(String stuid, String stuname, String sex, Short age, String classno, String stuaddress, String grade, Date enroldate, String idnumber) {
            this.stuid = stuid;
            this.stuname = stuname;
            this.sex = sex;
            this.age = age;
            this.classno = classno;
            this.stuaddress = stuaddress;
            this.grade = grade;
            this.enroldate = enroldate;
            this.idnumber = idnumber;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table STUINFO
         *
         * @mbg.generated
         */
        public StuInfoEntity() {
            super();
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method returns the value of the database column STUINFO.STUID
         *
         * @return the value of STUINFO.STUID
         *
         * @mbg.generated
         */
        public String getStuid() {
            return stuid;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method sets the value of the database column STUINFO.STUID
         *
         * @param stuid the value for STUINFO.STUID
         *
         * @mbg.generated
         */
        public void setStuid(String stuid) {
            this.stuid = stuid == null ? null : stuid.trim();
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method returns the value of the database column STUINFO.STUNAME
         *
         * @return the value of STUINFO.STUNAME
         *
         * @mbg.generated
         */
        public String getStuname() {
            return stuname;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method sets the value of the database column STUINFO.STUNAME
         *
         * @param stuname the value for STUINFO.STUNAME
         *
         * @mbg.generated
         */
        public void setStuname(String stuname) {
            this.stuname = stuname == null ? null : stuname.trim();
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method returns the value of the database column STUINFO.SEX
         *
         * @return the value of STUINFO.SEX
         *
         * @mbg.generated
         */
        public String getSex() {
            return sex;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method sets the value of the database column STUINFO.SEX
         *
         * @param sex the value for STUINFO.SEX
         *
         * @mbg.generated
         */
        public void setSex(String sex) {
            this.sex = sex == null ? null : sex.trim();
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method returns the value of the database column STUINFO.AGE
         *
         * @return the value of STUINFO.AGE
         *
         * @mbg.generated
         */
        public Short getAge() {
            return age;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method sets the value of the database column STUINFO.AGE
         *
         * @param age the value for STUINFO.AGE
         *
         * @mbg.generated
         */
        public void setAge(Short age) {
            this.age = age;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method returns the value of the database column STUINFO.CLASSNO
         *
         * @return the value of STUINFO.CLASSNO
         *
         * @mbg.generated
         */
        public String getClassno() {
            return classno;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method sets the value of the database column STUINFO.CLASSNO
         *
         * @param classno the value for STUINFO.CLASSNO
         *
         * @mbg.generated
         */
        public void setClassno(String classno) {
            this.classno = classno == null ? null : classno.trim();
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method returns the value of the database column STUINFO.STUADDRESS
         *
         * @return the value of STUINFO.STUADDRESS
         *
         * @mbg.generated
         */
        public String getStuaddress() {
            return stuaddress;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method sets the value of the database column STUINFO.STUADDRESS
         *
         * @param stuaddress the value for STUINFO.STUADDRESS
         *
         * @mbg.generated
         */
        public void setStuaddress(String stuaddress) {
            this.stuaddress = stuaddress == null ? null : stuaddress.trim();
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method returns the value of the database column STUINFO.GRADE
         *
         * @return the value of STUINFO.GRADE
         *
         * @mbg.generated
         */
        public String getGrade() {
            return grade;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method sets the value of the database column STUINFO.GRADE
         *
         * @param grade the value for STUINFO.GRADE
         *
         * @mbg.generated
         */
        public void setGrade(String grade) {
            this.grade = grade == null ? null : grade.trim();
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method returns the value of the database column STUINFO.ENROLDATE
         *
         * @return the value of STUINFO.ENROLDATE
         *
         * @mbg.generated
         */
        public Date getEnroldate() {
            return enroldate;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method sets the value of the database column STUINFO.ENROLDATE
         *
         * @param enroldate the value for STUINFO.ENROLDATE
         *
         * @mbg.generated
         */
        public void setEnroldate(Date enroldate) {
            this.enroldate = enroldate;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method returns the value of the database column STUINFO.IDNUMBER
         *
         * @return the value of STUINFO.IDNUMBER
         *
         * @mbg.generated
         */
        public String getIdnumber() {
            return idnumber;
        }
    
        /**
         * This method was generated by MyBatis Generator.
         * This method sets the value of the database column STUINFO.IDNUMBER
         *
         * @param idnumber the value for STUINFO.IDNUMBER
         *
         * @mbg.generated
         */
        public void setIdnumber(String idnumber) {
            this.idnumber = idnumber == null ? null : idnumber.trim();
        }
    }

    使用JavaAPI实现数据库基本操作

    Controller

    package cn.techny.demo.Controller;
    
    import cn.techny.demo.Service.DemoService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class DemoController {
    
        public DemoService demoService;
    
        @Autowired
        public DemoController(DemoService demoService){
            this.demoService = demoService;
        }
        @GetMapping(path = "/demo")
        public int demo(){
            return demoService.DemoInsert();
        }
    }

    Service

    package cn.techny.demo.Service;
    
    import cn.techny.demo.dao.StuInfoDao;
    import cn.techny.demo.entity.StuInfoEntity;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.Date;
    
    @Service
    public class DemoService {
    
        private final StuInfoDao stuInfoDao;
    
        @Autowired
        public DemoService(StuInfoDao stuInfoDao) {
            this.stuInfoDao = stuInfoDao;
        }
    
        public int DemoInsert() {
            StuInfoDao stuInfoDao = this.stuInfoDao;
            int res = 1;
            Date date = new Date();
            StuInfoEntity stuInfoEntity = new StuInfoEntity(
                    "test", "test", "1", (short) 1, "test", "test", "test", date, "test");
            res = stuInfoDao.insert(stuInfoEntity);
            return res;
        }
    }

    封装sql语句到mapper中,直接调用执行即可

    论读书
    睁开眼,书在面前
    闭上眼,书在心里
  • 相关阅读:
    【codevs1002】搭桥(prim)
    【codevs1993】草地排水(最大流)
    NOIP总结
    【codevs1069】关押罪犯[noip2010](并查集)
    第一章 数据库的设计
    Socket与ServerSocket
    关于 httpUrlConnection 的 setDoOutput 与 setDoInput的区别
    java基础复习1
    eclipes快捷键
    List Set Map 的区别 用法以及特点(转载)
  • 原文地址:https://www.cnblogs.com/YC-L/p/14621461.html
Copyright © 2011-2022 走看看