SpringBoot+Mybatis+Oracle 增删改查(简单的案例,超详细)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



一、oracle是什么?

Oracle 数据库服务器由一个数据库和至少一个数据库实例组成。 数据库是一组存储数据的文件,而数据库实例则是管理数据库文件的内存结构。此外,数据库是由后台进程组成。


二、编写代码

1.创建一个maven项目

如下(示例):

在这里插入图片描述


2.项目结构

在这里插入图片描述


3.导入pom依赖

  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.13</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

	   <dependencies>
           <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </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-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc10</artifactId>
            <version>19.16.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>cn.easyproject</groupId>
            <artifactId>orai18n</artifactId>
            <version>12.1.0.2.0</version>
        </dependency>
    </dependencies>

4.配置application.yml文件

server :
  port : 8090
spring :
  application:
    name :oracle-server
  datasource:
    driver-class-name: oracle.jdbc.driver.OracleDriver
    url: jdbc:oracle:thin:@localhost:1521:orcl
    username: xxx
    password: xxxxx
    
mybatis:
  mapper-locations: classpath:mappers/*.xml

5.实现增删改查

5.1在po下面建一个实体类:MyTest

在这里插入图片描述


在这里插入图片描述


5.2在mapper包下面建一个接口:MyTestMapper

在MyTestMapper接口里面定义增删改查方法(用注解方法实现)

在这里插入图片描述


类前面要加上@Mapper注解

代码如下:
在这里插入图片描述


5.3在service包下新建实现类(实现mapper接口)

在这里插入图片描述


5.4在controller包下新建类(实现service方法)

在这里插入图片描述


三 启动项目

3.1 运行启动类

在这里插入图片描述

运行成功截图

在这里插入图片描述

3.2 可能遇到的错误

  • java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK**
    在这里插入图片描述

     <dependency>
            <groupId>cn.easyproject</groupId>
            <artifactId>orai18n</artifactId>
            <version>12.1.0.2.0</version>
        </dependency>

四 在页面上访问数据

启动SpringBoot项目成功后,我们可以在浏览器访问了(这里测试查询接口)
在浏览器地址栏输入 http://localhost:8090/my/ListName?name=“狗哥”

  • 8089 是你分配的端口号

  • /my/select 是ListName方法中定义的资源路径

  • ? 代表后面你要开始传参数

  • name=狗哥 是你传的值,参数名name(跟controller方法中参数名对应),参数值是狗哥

在这里插入图片描述


正在学习,如有错误敬请指正!
希望对你有帮助!

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现首页动态菜单列表需要以下几步: 1. 在数据库中创建菜单表,包含菜单ID、菜单名称、菜单URL、父级菜单ID等字段。 2. 创建菜单实体类,与菜单表对应。 3. 使用Mybatis框架,在Mapper.xml文件中编写SQL语句,实现菜单的增删改查操作。 4. 在Spring Boot项目中创建菜单服务类和菜单控制器类,编写菜单的业务逻辑和接口。 5. 在页面中使用Thymeleaf模板引擎,展示菜单列表。 下面是一个简单的示例: 1. 在Oracle数据库中创建菜单表: ``` CREATE TABLE MENU ( MENU_ID NUMBER(10) PRIMARY KEY, MENU_NAME VARCHAR2(50), MENU_URL VARCHAR2(100), PARENT_ID NUMBER(10) ); ``` 2. 创建菜单实体类: ```java public class Menu { private Integer menuId; private String menuName; private String menuUrl; private Integer parentId; //getter and setter } ``` 3. 在Mapper.xml文件中编写SQL语句: ```xml <!--查询所有菜单--> <select id="findAllMenus" resultType="com.example.demo.entity.Menu"> SELECT * FROM MENU </select> ``` 4. 创建菜单服务类和菜单控制器类: ```java @Service public class MenuService { @Autowired private MenuMapper menuMapper; public List<Menu> findAllMenus() { return menuMapper.findAllMenus(); } } @Controller public class MenuController { @Autowired private MenuService menuService; @GetMapping("/") public String index(Model model) { List<Menu> menus = menuService.findAllMenus(); model.addAttribute("menus", menus); return "index"; } } ``` 5. 在页面中使用Thymeleaf模板引擎,展示菜单列表: ```html <ul> <li th:each="menu : ${menus}"> <a th:href="${menu.menuUrl}" th:text="${menu.menuName}"></a> <ul th:if="${not #lists.isEmpty(menu.children)}"> <li th:each="child : ${menu.children}"> <a th:href="${child.menuUrl}" th:text="${child.menuName}"></a> </li> </ul> </li> </ul> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值