博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot + mybatis
阅读量:5264 次
发布时间:2019-06-14

本文共 4863 字,大约阅读时间需要 16 分钟。

1.pom.xml添加依赖包

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>1.3.2</version>

</dependency>

 

使用mybatis,涉及到操作数据库,所以添加相应的依赖包

<!-- alibaba的druid数据库连接池 -->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.0.11</version>

</dependency>

我使用的是oracle数据库,添加ojdbc依赖包

<!-- https://mvnrepository.com/artifact/com.oracle/ojdbc6 -->

<dependency>

<groupId>com.oracle</groupId>

<artifactId>ojdbc6</artifactId>

<version>11.2.0.3</version>

</dependency>

 

2.在springboot配置文件中配置相关的属性

#程序端口(可以不配置,springboot默认启动端口是8080)

server.port=9999

#数据源配置

spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl

spring.datasource.username=sys

spring.datasource.password=123

#连接池配置

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.initialSize=5

spring.datasource.minIdle=5

spring.datasource.maxActive=20

spring.datasource.maxWait=60000

#mybatis配置

#对应实体类所在的包

mybatis.typeAliasesPackage=com.example.demo.entity.**

#对应mapper.xml文件

mybatis.mapperLocations=classpath:mybatis/mapper/**/*.xml

#读取mybatis配置

mybatis.configLocation=classpath:mybatis/mybatis-config.xml

 

3.mybatis-config.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>

<!-- 使全局的映射器启用或禁用缓存。 -->

<setting name="cacheEnabled" value="true"/>

<!--数据库的字段名到实体类的属性名的自动映射-->

<setting name="mapUnderscoreToCamelCase" value="true"/>

</settings>

<typeAliases>

<typeAlias alias="Integer" type="java.lang.Integer" />

<typeAlias alias="Long" type="java.lang.Long" />

<typeAlias alias="HashMap" type="java.util.HashMap" />

<typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />

<typeAlias alias="ArrayList" type="java.util.ArrayList" />

<typeAlias alias="LinkedList" type="java.util.LinkedList" />

</typeAliases>

</configuration>

 

4.下面进行操作(对用户信息操作为例)

1.创建数据库表 SYS_USER

 

-- Create table

create table SYS_USER
(
id NUMBER not null,
login_code VARCHAR2(100),
login_name VARCHAR2(100)
)
tablespace CATALOG_MANAGE
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table SYS_USER
add constraint SYS_USER_ID primary key (ID)
using index
tablespace CATALOG_MANAGE
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);

 

2.创建实体类---->SysUser.java

private Long id;

private String loginCode;

private String loginName;

get...set...(略)

3.创建dao---->SysUserMapper.java

就写两个接口为例

@Mapper

public interface SysUserMapper {

 

public SysUser getSingle(@Param("id") Long id);

public List<SysUser> getUserList(@Param("id") Long id, @Param("loginCode") String loginCode, @Param("loginName") String loginName);

}

4.创建mapper.xml文件---->SysUser.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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 -->

<mapper namespace="com.example.demo.dao.base.mapper.SysUserMapper">

<!-- 根据id获取单个用户 -->

<select id="getSingle" resultType="com.example.demo.entity.base.SysUser">

SELECT t.id,

t.login_code,

t.login_name AS loginName

FROM sys_user t

WHERE 1 = 1

AND t.id = #{id}

</select>

<!-- 查询所有的用户 -->

<select id="getUserList" resultType="HashMap">

select t.* from sys_user t

WHERE 1 = 1

<if test="id != null">

and t.id = #{id}

</if>

<if test="loginCode != null">

and t.login_code = #{loginCode}

</if>

<if test="loginName != null">

and t.login_name = #{loginName}

</if>

</select>

</mapper>

5.创建service---->SysUserService.ava

@Service

public class SysUserService {

 

@Autowired

private SysUserMapper sysUserMapper;

public SysUser getSingle(Long id){

return sysUserMapper.getSingle(id);

}

public List<SysUser> getUserList(Long id, String loginCode, String loginName){

return sysUserMapper.getUserList(id, loginCode, loginName);

}

}

6.创建controller---->SysUserController.java

@Controller

@RequestMapping(value="/sysUser")

public class SysUserController {

 

@Autowired

private SysUserService sysUserService;

@RequestMapping(value="/getSingle")

@ResponseBody

public SysUser getSingle(Long id){

return sysUserService.getSingle(id);

}

@RequestMapping(value="/userList")

@ResponseBody

public List<SysUser> getUserList(Long id, String loginCode, String loginName){

return sysUserService.getUserList(id, loginCode, loginName);

}

}

 

5.调用

 http://localhost:9999/sysUser/userList

结果:

[{"LOGIN_CODE":"admin","ID":1,"LOGIN_NAME":"admin"},{"LOGIN_CODE":"hh","ID":2,"LOGIN_NAME":"hh"},{"LOGIN_CODE":"tt","ID":3,"LOGIN_NAME":"tt"}]

 

 

转载于:https://www.cnblogs.com/chao555/p/9036123.html

你可能感兴趣的文章
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>
[LeetCode] Merge Intervals
查看>>
【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住
查看>>
Linux编程简介——gcc
查看>>
一种高效的序列化方式——MessagePack
查看>>
2019年春季学期第四周作业
查看>>
2019春第十周作业
查看>>
解决ThinkPHP关闭调试模式时报错的问题汇总
查看>>
【APT】SqlServer游标使用
查看>>
关于ExecuteNonQuery()返回值为-1
查看>>
Firefox修復QQ快速登錄
查看>>
PAT——1060. 爱丁顿数
查看>>
分布式技术追踪 2017年第二十期
查看>>
git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation的解决办法
查看>>
Linux环境变量永久设置方法(zsh)
查看>>