mybatis+springboot中使用mysql的实例

目录
  • 依赖引入
  • 配置引入
  • 案例实现
  • 案例源码

在软件开发中,数据库的引入是必不可少的,其中又属mysql使用最为广泛,而在springboot中,集成使用mysql的方式有很多(例如jpa),这里来展现一下通过mybatis框架在springboot中使用mysql。

依赖引入

首先在使用初始化工程的时候加入mybatis、mysql相关的依赖,如下所示:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>

    </dependencies>

配置引入

在配置方面,使用springboot的自动配置功能配置数据源,如下所示:

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://127.0.0.1:3306/sbac_master?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver

配置了数据源,剩下的就是引入mybatis了。mybatis的引入同样可以使用自动配置(MybatisProperties)来实现,这里选择不全部使用自动配置属性,而是引入mybatis的配置文件方式注入属性。

mybatis:
  config-location: classpath:mybatis-config.xml
  mapper-locations: classpath:com/lazycece/sbac/mysql/data/dao/*/mapper/*.xml

这里给出一个mybatis的简单配置,有关更多的配置属性,可以参考mybatis的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>
    <settings>
        <!-- 使用jdbc的getGeneratedKEYS 获取数据库自增主键 -->
        <setting name="useGeneratedKeys" value="true"/>
        <!-- 开启驼峰命名转换 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <!--日志输出sql语句-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
    <typeAliases>
        <package name="com.lazycece.sbac.mysql.data.domain"/>
    </typeAliases>
    <typeHandlers>
        <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler"
                     javaType="com.lazycece.sbac.mysql.data.domain.Status"/>
    </typeHandlers>
</configuration>

案例实现

这里给出一个简单的案例(用户信息的插入和查询)来展现mapper层的实现,实体就不在这里展示了。mapper接口如下:

@Mapper
public interface UserDao {

    void insert(User user);

    User findByUsername(@Param("username") String username);
}

同时需要在主函数上加入注解@MapperScan来扫描我们mapper:

@SpringBootApplication
@MapperScan(basePackages = {"com.lazycece.sbac.mysql.data.dao"})
public class SpringbootAcMysqlSimpleApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootAcMysqlSimpleApplication.class, args);
    }

}

mapper的sql实现,这里选择用xml的方式实现,当然也可以选择用注解方式(这里对应的@Select,@Insert):

<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.lazycece.sbac.mysql.data.dao.master.UserDao">

    <sql id="allColumn">
        id,create_time,update_time,username,password,telephone,status,editor
    </sql>

    <insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="id">
        INSERT  INTO
        user (create_time,update_time,username,password,telephone,status,editor)
        VALUE (#{createTime},#{updateTime},#{username},#{password},#{telephone},#{status},#{editor});
    </insert>

    <select id="findByUsername" resultType="User">
        SELECT
        <include refid="allColumn"/>
        FROM user
        WHERE username = #{username};
    </select>

</mapper>

细心者可发现,前面配置引入中引入mapper是写的classpath:com/lazycece/sbac/mysql/data/dao//mapper/.xml包名路径,使用这种方式默认情况下是不会成功的,因为包路径下文件默认只会编译java文件,所以需要在pom文件中加入配置使得在工程编译时将其包含进编译后的路径下。

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>com/lazycece/sbac/mysql/data/dao/*/mapper/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

案例源码

案例源码地址: https://github.com/lazycece/springboot-actual-combat/tree/master/springboot-ac-mysql/springboot-ac-mysql-simple

到此这篇关于mybatis+springboot中使用mysql的实例的文章就介绍到这了,更多相关mybatis springboot mysql内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot+MyBatisPlus+MySQL8实现树形结构查询

    本文实例为大家分享了SpringBoot+MyBatisPlus+MySQL8实现树形结构查询,供大家参考,具体内容如下 场景: 今天在实现权限功能模块时,需要将查询的权限数据,以树形结构的方式返回给前端. 功能实现: 第一步:权限表结构定义及其功能演示数据. DROP TABLE IF EXISTS `baoan_privilege`; CREATE TABLE `baoan_privilege` ( `id` varchar(64) CHARACTER SET utf8 COLLATE ut

  • IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能

    一.搭建SpringBoot项目 1.1.file --> new --> project--> Spring Initializr--> next--> next--> next--> finish 注意选择包依赖关系 二.springboot整合mybatis.mysql 2.1.整体结构 2.2.设置所需要的依赖 即pom.xml文件 <?xml version="1.0" encoding="UTF-8"?&g

  • SpringBoot+Mybatis-Plus实现mysql读写分离方案的示例代码

    1. 引入mybatis-plus相关包,pom.xml文件 2. 配置文件application.property增加多库配置 mysql 数据源配置 spring.datasource.primary.jdbc-url=jdbc:mysql://xx.xx.xx.xx:3306/portal?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=

  • SpringBoot+MybatisPlus+Mysql+JSP实战

    本文主要介绍了SpringBoot+MybatisPlus+Mysql+JSP实战,分享给大家,具体如下: 放个效果图: 准备项目 首先在MySql控制台输入一下sql语句创建student 数据库和student. create databse student; use student; CREATE TABLE `student` ( `stu_id` bigint(20) NOT NULL, `stu_name` varchar(45) DEFAULT NULL, `stu_sex` va

  • springboot基于Mybatis mysql实现读写分离

    近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离.这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,还不带格式的,看的真心难受). 完整代码:https://github.com/FleyX/demo-project/tree/master/dxfl 1.背景 一个项目中数据库最基础同时也是最主流的是单机数据库,读写都在一个库中.当用户逐渐增多,单机数据库无法满足性能要求时,就会进行读写分离改造(适用于读多写少),写操作一个库,读操作多个库

  • mybatis+springboot中使用mysql的实例

    目录 依赖引入 配置引入 案例实现 案例源码 在软件开发中,数据库的引入是必不可少的,其中又属mysql使用最为广泛,而在springboot中,集成使用mysql的方式有很多(例如jpa),这里来展现一下通过mybatis框架在springboot中使用mysql. 依赖引入 首先在使用初始化工程的时候加入mybatis.mysql相关的依赖,如下所示: <dependencies> <dependency> <groupId>org.springframework.

  • Linux中对MySQL优化实例详解

    Linux中对MySQL优化实例详解 vim /etc/my.cnf以下只列出my.cnf文件中[mysqld]段落中的内容,其他段落内容对MySQL运行性能影响甚微,因而姑且忽略. [mysqld] port = 3306 serverid = 1 socket = /tmp/mysql.sock skip-locking 避免MySQL的外部锁定,减少出错几率增强稳定性. skip-name-resolve 禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析

  • spring-boot中的SPI机制实例讲解

    一.从java类加载机制说起 java中的类加载器负载加载来自文件系统.网络或者其他来源的类文件.jvm的类加载器默认使用的是双亲委派模式.三种默认的类加载器Bootstrap ClassLoader.Extension ClassLoader和System ClassLoader(Application ClassLoader)每一个中类加载器都确定了从哪一些位置加载文件.于此同时我们也可以通过继承java.lang.classloader实现自己的类加载器. Bootstrap ClassL

  • JavaScript中操作Mysql数据库实例

    //创建数据库连接对象 var conn = new ActiveXObject("ADODB.Connection"); //创建数据集对象 var rs = new ActiveXObject("ADODB.Recordset"); try{ //数据库连接串,具体配置请参考:http://www.connectionstrings.com/ //如果不知道如何配置连接串,可以通过配置UDL文件后用文本编辑器打开获得 var connectionstring =

  • Python中操作MySQL入门实例

    一.安装MySQL-python 复制代码 代码如下: # yum install -y MySQL-python 二.打开数据库连接 复制代码 代码如下: #!/usr/bin/python import MySQLdb conn = MySQLdb.connect(user='root',passwd='admin',host='127.0.0.1') conn.select_db('test') cur = conn.cursor() 三.操作数据库 复制代码 代码如下: def inse

  • SpringBoot+MyBatis简单数据访问应用的实例代码

    因为实习用的是MyBatis框架,所以写一篇关于SpringBoot整合MyBatis框架的总结. 一,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:

  • Springboot项目实现Mysql多数据源切换的完整实例

    一.分析AbstractRoutingDataSource抽象类源码 关注import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource以下变量 @Nullable private Map<Object, Object> targetDataSources; // 目标数据源 @Nullable private Object defaultTargetDataSource; // 默认目标数据源 @Null

  • mybatis逆向工程与分页在springboot中的应用及遇到坑

    最近在项目中应用到springboot与mybatis,在进行整合过程中遇到一些坑,在此将其整理出来,便于以后查阅与复习. 项目运行环境为:eclispe+jdk1.8+maven 搭建Spring Boot环境 首先建立maven project,在生成的pom文件中加入依赖,代码如下: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-

  • 详解在springboot中使用Mybatis Generator的两种方式

    介绍 Mybatis Generator(MBG)是Mybatis的一个代码生成工具.MBG解决了对数据库操作有最大影响的一些CRUD操作,很大程度上提升开发效率.如果需要联合查询仍然需要手写sql.相信很多人都听说过微服务,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地完成该任务.在一个微服务的开发过程中很可能只关注对单表的操作.所以MBG在开发过程中可以快速的生成代码提升开发效率. 本文将说到在springboot的项目中如何去配置(XML形式和Java配置类形式)和使用M

  • springboot中mybatis多数据源动态切换实现

    目录 多数据源配置引入 动态数据源路由实现 动态数据源切换使用 案例源码 在开发中,动态数据源配置还是用的比较多的,比如在多数据源使用方面,又或者是在多个DB之间切换方面.这里给出一个动态数据源的配置方案,两个DB均以mysql为例. 多数据源配置引入 mybatis和mysql在springboot中的引入这里就不在说了,不了解的可以参见springboot中mysql与mybatis的引入. 数据源配置如下: datasource: master: type: com.alibaba.dru

随机推荐