02 MyBatis & Druid

MyBatis

MyBatis 是灵活的 SQL 映射, 不想 Hibrnate 是纯的 ORM, 个人还是比较写 SQL 语句, 不喜欢纯的 ORM.

首先引入 Maven 依赖.

添加 mybatis 配置, 包括 DAO, Model, XML映射文件.

在 config 包下边创建一个 MybatisConfig.java

package com.example.demo.config;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

@Configuration
@MapperScan("com.example.demo.**.dao") // 扫描DAO
public class MybatisConfig {

    @Autowired
    private javax.sql.DataSource dataSource;

    @Bean
    public SqlSessionFactory sqlSessionFactory() throws Exception {
        SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        sessionFactory.setTypeAliasesPackage("com.example.demo.**.model");

        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        sessionFactory.setMapperLocations(resolver.getResources("classpath*:**/sqlmap/*.xml"));

        return sessionFactory.getObject();
    }
}

添加数据源, 在 application.yml 中

spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/mysql
username: root
password: root

02 MyBatis & Druid

工具生成 Model, DAO, XML

Model = 数据库中的 entity, 也就是数据库中的表.

DAO = Mapper, 对数据库中的持久化操作, 与 XML 相对应. xml(写SQL语句, 有一个id), DAO 针对这个 id 有对应的方法.

Mybatis Generator 和 MyBatis Plus 都可以做到. 我这里边用 MyBatis Plus 来举例:

Original: https://www.cnblogs.com/moveofgod/p/14618770.html
Author: 神之一招
Title: 02 MyBatis & Druid

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/543085/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java项目实战——瑞吉外卖Day02

    1、完善登录功能 问题分析 前面我们已经完成了后台系统的员工登录功能开发,但是还存在一个问题:用户如果不登录,直接访问系统首页面,照样可以正常访问。 这种设计并不合理,我们希望看到…

    Java 2023年5月29日
    071
  • 安装Nginx

    一、Nginx官网 1、官网地址 http://nginx.org/ 2、下载页面介绍 首先进入主页,然后点击右侧菜单的 download。 Mainline Version : …

    Java 2023年5月30日
    068
  • 一篇带你全面掌握go reflec 反射的用法

    你为什么要用反射?这个问题请读者自己回答。我强调一下反射的2个弊端: 代码不易阅读,不易维护,容易发生线上panic 性能很差,比正常代码慢一到两个数量级 go语言反射里最重要的两…

    Java 2023年5月30日
    083
  • PageOffic 页面中打开office编辑文档

    Original: https://www.cnblogs.com/Sora-L/p/10441887.htmlAuthor: 雨梦大木Title: PageOffic 页面中打开…

    Java 2023年6月16日
    078
  • idea maven Could not transfer artifact

    aven报出Could not transfer artifact错误时 一般解决方法有: 在IDEA 的 setting → Build,Execution,Deployment…

    Java 2023年6月5日
    070
  • 基于微前端qiankun的多页签缓存方案实践

    作者:vivo 互联网前端团队- Tang Xiao 本文梳理了基于阿里开源微前端框架qiankun,实现多页签及子应用缓存的方案,同时还类比了多个不同方案之间的区别及优劣势,为使…

    Java 2023年6月15日
    093
  • nodejs调用jar

    目前nodejs调用jar主要有两种方式: 通过创建子进程运行java -jar命令调用包含main方法的jar 使用node-java通过c++桥接调用jar 方法一(子进程运行…

    Java 2023年6月5日
    077
  • 定时执行任务-springboot

    定时执行任务-springboot 先看两个接口 这两个接口springboot已经帮我们封装好了,我们不需要去手动使用 TaskScheduler //任务调度者 TaskExe…

    Java 2023年6月13日
    074
  • bat脚本一键配置java开发环境

    背景 在新电脑配置或者新人入职时需要对java开发相关环境进行配置安装,但时常会因为安装配置不到位或者操作错误导致时间的浪费,所以在空余时间收集了一系列软件的免安装版本,并且编写了…

    Java 2023年6月15日
    079
  • Arthas之类操作

    Arthas之类操作 1. classLoader 查询当前JVM中存在的classloader classloader name numberOfInstances loaded…

    Java 2023年6月13日
    079
  • synchronized下的 i+=2 和 i++ i++执行结果居然不一样

    逛【博客园-博问】时发现了一段有意思的问题: 这段代码是这样的: import java.util.concurrent.ExecutorService; import java….

    Java 2023年6月8日
    075
  • 日常踩坑_jar包读取不到资源文件

    背景提要 之前不是为了导出word使用了一个WordUtil工具类嘛,这个工具类中需要一个资源文件css,然后就将该资源文件放在了WordUtil同包下的resources文件夹下…

    Java 2023年6月7日
    098
  • 1.使用log4j

    1.pom文件导入 log4j log4j 1.2.17 2.resource下增加log4j配置文件 ### set log levels ### log4j.rootLogge…

    Java 2023年6月13日
    092
  • Elasticsearch笔记

    1 创建index,type : localhost:9200/get-together/group/1?pretty 然后跟上body: {“name”:…

    Java 2023年6月7日
    063
  • IO流思维导图

    IO流思维导图 IO思维导图总结 总览: 1.文件 public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。 (几乎…

    Java 2023年6月6日
    070
  • 修改VSCode的插件安装目录

    VSCode 的插件目录在各平台下的默认位置如下: Windows %USERPROFILE%.vscode\extensionsmacOS ~/.vscode/extension…

    Java 2023年6月9日
    070
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球