springboot整合mybatis
来源:互联网 发布:京东数据开放平台 编辑:程序博客网 时间:2024/05/22 14:10
springboot整合mybatis
- mybatis pom.xml配置
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency>
为了方便测试和案例,下面以mysql为例,使用阿里的druid作为数据库连接池来写个mybatis的小demo
- mysql数据库驱动和druid连接池驱动pom.xml
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.31</version> </dependency>
- boot配置,这里使用yml配置格式
server: port: 80spring: datasource: driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource username: root password: 123456 url: jdbc:mysql://127.0.0.1:3306/demo?characterEncoding=utf8&useSSL=falsemybatis: mapperLocations: classpath*:com/boot/mapper/xml/*Mapper.xml typeAliasesPackage: com.boot.entity
- 新建一个user表,mapper,xml,service,serviceimpl
sql
create table `user`(name varchar(255),age varchar(255),sex varchar(255),address varchar(255));
user bean
public class User implements Serializable{ private static final long serialVersionUID = 1L; private String name; private String age; private String sex; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User [name=" + name + ", age=" + age + ", sex=" + sex + ", address=" + address + "]"; }}
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.boot.mapper.UserMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.boot.entity.User"> <id column="name" property="name" /> <result column="age" property="age" /> <result column="sex" property="sex" /> <result column="address" property="address" /> </resultMap> <select id="selectByName" parameterType="string" resultMap="BaseResultMap"> select * from user <where> <if test="name!=null and name!=''"> and name = #{name,jdbcType=VARCHAR} </if> </where> </select> <select id="selectList" resultMap="BaseResultMap"> select * from user where 1=1 </select> <insert id="insertOne" parameterType="com.boot.entity.User"> insert user (name,age,sex,address) values(#{name,jdbcType=VARCHAR},#{age,jdbcType=VARCHAR},#{sex,jdbcType=VARCHAR},#{address,jdbcType=VARCHAR}); </insert> <update id="updateOneByName" parameterType="com.boot.entity.User"> update user set name = #{name,jdbcType=VARCHAR}, age = #{age,jdbcType=VARCHAR}, sex = #{sex,jdbcType=VARCHAR}, address = #{address,jdbcType=VARCHAR} where name = #{name,jdbcType=VARCHAR} </update> <delete id="deleteByNmae" parameterType="string"> delete from user where name=#{name,jdbcType=VARCHAR}; </delete></mapper>
mapper
public interface UserMapper { public User selectByName(@Param("name") String name); public List<User> selectList(); public Integer insertOne(User user); public Integer updateOneByName(User user); public Integer deleteByNmae(@Param("name") String name);}
serviceimpl
@Servicepublic class UserServiceImpl implements UserService { @Autowired UserMapper userMapper; @Override public User selectByName(String name) { return userMapper.selectByName(name); } @Override public List<User> selectList() { return userMapper.selectList(); } @Override public Integer insertOne(User user) { return userMapper.insertOne(user); } @Override public Integer updateOneByName(User user) { return userMapper.updateOneByName(user); } @Override public Integer deleteByNmae(String name) { return userMapper.deleteByNmae(name); }}
junit test
package com.boot.mybatistest;import java.util.List;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import com.boot.entity.User;import com.boot.serviceimpl.UserServiceImpl;@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired UserServiceImpl userServiceImpl; @Test public void testSelectOne() { User user = userServiceImpl.selectByName("jack"); System.out.println(user); } @Test public void testSelectList() { List<User> users = userServiceImpl.selectList(); System.out.println(users); } @Test public void testInsertOne() { User user = new User(); user.setName("jack"); user.setAge("24"); user.setSex("男"); user.setAddress("北京"); int i=userServiceImpl.insertOne(user); System.out.println(i); } @Test public void updateOne() { User user = new User(); user.setName("jack"); user.setAge("24"); user.setSex("男"); user.setAddress("上海"); int i=userServiceImpl.updateOneByName(user); System.out.println(i); } @Test public void testdeleteOne() { int i= userServiceImpl.deleteByNmae("jack"); System.out.println(i); }}
附:yml配置的xml路径和entity的路径,而mapper接口的扫描路径需要在boot的启动main配置注解
@SpringBootApplication@MapperScan("com.boot.mapper*")public class BootApplication { public static void main(String[] args) { SpringApplication.run(BootApplication.class, args); }}
阅读全文
1 0
- SpringBoot学习:SpringBoot整合mybatis
- SpringBoot和Mybatis整合
- springboot 整合mybatis
- springboot+mybatis+dubbo整合
- SpringBoot整合MyBatis
- SpringBoot整合Mybatis
- springBoot整合mybatis
- springboot与mybatis整合
- springboot和mybatis整合
- Springboot整合Mysql+Mybatis
- springboot、mybatis、activemq整合
- SpringBoot整合MyBatis
- SpringBoot 整合mybatis
- SpringBoot + Mybatis 整合demo
- springboot整合mybatis
- SpringBoot-整合MyBatis
- Springboot 整合 Mybatis
- SpringBoot-09整合MyBatis
- Mysql常用
- Java通过Runtime类对系统命令的调用,备份数据库和图片示例
- POJ 2551 Dungeon Master
- C语言进阶之路------关于字符串函数的小例子(用函数连接两个字符串)
- CentOS 7使用yum安装MySql5.6.24
- springboot整合mybatis
- Python的实例方法,类方法,静态方法之间的区别及调用关系
- android-async-http框架库使用基础
- Hadoop的过去、现在和未来
- java,scala通过ansj分词 并做去除停词处理
- 配置远程连接MySQL数据库
- 输入框动态调整大小
- Booting the Linux Kernel Without an initrd/initramfs
- Linux离线安装sysstat(sar,iostat,sysstat)