zoukankan      html  css  js  c++  java
  • Spring boot + mybatis + orcale

    接着上次的实现, 添加 mybatis 查询 orcale 数据库

    第一步: 新建几个必须的包, 结果如下

    第二步: 在service包下新建personService.java 根据名字查person方法接口

    复制代码
    package com.example.first.service;
    
    import com.example.first.entity.Person;
    
    public interface personService {
    
        Person queryPersonByName(String name);
    }
    复制代码

    第三步: 在serviceImpl包下新建personServiceImpl.java 实现personService.java接口

    复制代码
    package com.example.first.serviceImpl;
    import com.example.first.personDao.personMapperDao;
    import com.example.first.entity.Person;
    import com.example.first.service.personService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    
    @Service
    @Transactional
    public class personServiceImpl implements personService {
    
        @Autowired
        personMapperDao personMapperDao;
    
        @Override
        public Person queryPersonByName(String name) {
            Person person = personMapperDao.findByName(name);
            return person;
        }
    }
    复制代码

    第四步: personDao下新建personMapperDao.java  有一个查询person的方法

    复制代码
    package com.example.first.personDao;
    
    import com.example.first.entity.Person;
    import org.apache.ibatis.annotations.Mapper;
    
    @Mapper
    public interface personMapperDao {
        Person findByName(String name);
    }
    复制代码

    第五步: 在resource下新建personMapper.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.example.first.personDao.personMapperDao">
    
        <resultMap id="findPerson" type="com.example.first.entity.Person">
            <result property="name" column="name"/>
            <result property="age" column="age"/>
        </resultMap>
        <select id="findByName" resultMap="findPerson">
            select name,age from person where name = #{name}
        </select>
    </mapper>
    复制代码

    第六步: 在application.properties 中添加数据源 , mapper文件路径 和实体路径

    复制代码
    spring.jpa.database=oracle
    spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
    spring.datasource.url=jdbc:oracle:thin:@//192.168.3.177:1521/orcl
    spring.datasource.username=liguang_dev
    spring.datasource.password=123456
    spring.jpa.hibernate.ddl-auto=update
    
    mybatis.mapperLocations=classpath:/mapper/*.xml
    mybatis.typeAliasesPackag= com.example.first.entity
    
    
    spring.thymeleaf.prefix=classpath:/templates/
    spring.thymeleaf.suffix=.html
    spring.thymeleaf.mode = HTML5
    复制代码

    第七步: 在pom文件中添加依赖

    复制代码
    <?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>com.example.first</groupId>
        <artifactId>springboot</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <name>springboot</name>
        <description>Demo project for Spring Boot</description>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.6.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <!--orcale数据库依赖-->
            <dependency>
                <groupId>oracle</groupId>
                <artifactId>ojdbc7</artifactId>
                <version>1.0.0.1</version>
            </dependency>
            <!--mybatis依赖-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.1.1</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </project>
    复制代码

    第八步:浏览器输入http://localhost:8080/person/show?name=zhang

  • 相关阅读:
    如何使用Total Recorder录制软件发出的声音
    火狐浏览器Firefox如何使用插件,火狐有哪些好用的插件
    [Tools] Create a Simple CLI Tool in Node.js with CAC
    [Unit Testing] Mock a Node module's dependencies using Proxyquire
    [SCSS] Create a gradient with a Sass loop
    [Algorithm] Heap data structure and heap sort algorithm
    [Debug] Diagnose a Slow Page Using Developer Tools
    [Tools] Deploy a Monorepo to Now V2
    [PWA] Add Push Notifications to a PWA with React in Chrome and on Android
    [Algorithms] Using Dynamic Programming to Solve longest common subsequence problem
  • 原文地址:https://www.cnblogs.com/dudadi/p/8043309.html
Copyright © 2011-2022 走看看