【SpringBoot商城秒杀系统项目实战04】集成Mybatis与druid
2019-05-27 17:10
771 查看
1.在pom.xml文件中添加pom依赖
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency>
2.在application.properties添加mybatis配置项
#mybatis #是否打印sql语句 #spring.jpa.show-sql= true mybatis.type-aliases-package=com.ljs.miaosha.domain #mybatis.type-handlers-package=com.example.typehandler #下划线转换为驼峰 mybatis.configuration.map-underscore-to-camel-case=true mybatis.configuration.default-fetch-size=100 #ms --3000ms--->3s mybatis.configuration.default-statement-timeout=3000 #mybatis配置文件路径 #mapperLocaitons mybatis.mapper-locaitons=classpath:com/ljs/miaosha/dao/*.xml
注意:光有mybatis还是不能访问数据库滴,还需要数据源。
3.配置数据源和连接池druid
#druid连接池 spring.datasource.url=jdbc:mysql://localhost/miaosha?useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.filters=stat # 初始化大小,最小,最大数据源 spring.datasource.initialSize=100 spring.datasource.minIdle=500 spring.datasource.maxActive=1000 spring.datasource.maxWait=60000 spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.minEvictableIdleTimeMillis=30000 spring.datasource.validationQuery=select 'x' spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=false spring.datasource.testOnReturn=false spring.datasource.poolPreparedStatements=true spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
4.引入jdbc和druid的依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.5</version> </dependency>
5.测试
- 新建miaosha数据库,创建测试表t_user,并写入两条数据。
create table t_user ( id BIGINT(20) primary key not null auto_increment, name varchar(16) DEFAULT NULL, );
- 在controller里面写一个请求测试,创建一个UserService,并且注入到controller里面
@Controller @RequestMapping("/demo")//注意!!!加了一个路径 public class DemoController { @Autowired UserService userService; @RequestMapping("/db/get") @ResponseBody public Result<User> dbGet() {//0代表成功 User user=userService.getById(1); System.out.println("res:"+user.getName()); return Result.success(user); } }
- Service代码,UserService 里面注入userDao
@Service public class UserService { @Autowired UserDao userDao; public User getById(int id) { return userDao.getById(id); } //使用事务 @Transactional public boolean tx() { User user=new User(); user.setId(3); user.setName("ljs"); userDao.insert(user); User user1=new User(); user1.setId(1); user1.setName("ljs2"); userDao.insert(user1); //这里出问题则回滚 return true; } }
- userDao代码,直接使用注解,不需要再去配置xml文件。
@Mapper public interface UserDao { @Select("select * from t_user where id=#{id}")//@Param("id")进行引用 public User getById(@Param("id")int id); @Insert("insert into t_user(id,name) values(#{id},#{name})") //id为自增的,所以可以不用设置id public void insert(User user); }
- User Bean
public class User { private int id; private String name; public User() { } public User(int id,String name) { this.id=id; this.name=name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
相关文章推荐
- 【SpringBoot商城秒杀系统项目实战06】安装与集成redis
- 【SpringBoot商城秒杀系统项目实战18】页面优化技术-商品详情页面静态化(前后端分离)
- 【SpringBoot商城秒杀系统项目实战24】安全优化 接口限流防刷
- 【SpringBoot商城秒杀系统项目实战08】两次MD5加密设计
- 【SpringBoot商城秒杀系统项目实战19】秒杀静态化+订单详情静态化
- 【SpringBoot商城秒杀系统项目实战20】高并发秒杀接口优化
- 【SpringBoot商城秒杀系统项目实战21】高并发秒杀系统接口优化 RabbitMQ异步下单
- 【SpringBoot商城秒杀系统项目实战15】订单详情页
- 【SpringBoot商城秒杀系统项目实战16】使用JMeter压测秒杀系统
- 【SpringBoot商城秒杀系统项目实战22】安全优化 秒杀接口地址隐藏
- 【SpringBoot商城秒杀系统项目实战11】分布式Session
- 【SpringBoot商城秒杀系统项目实战12】商品列表页
- 【SpringBoot商城秒杀系统项目实战07】通用缓存Key的设计与封装
- 【SpringBoot商城秒杀系统项目实战17】页面优化技术(页面缓存+URL缓存+对象缓存)
- 【SpringBoot商城秒杀系统项目实战13】秒杀商品详情页+秒杀倒计时功能实现
- 【SpringBoot商城秒杀系统项目实战05】数据库设计与对应的domain对象
- 【SpringBoot商城秒杀系统项目实战23】安全优化 数学图形验证码
- 【SpringBoot商城秒杀系统项目总结】 项目的亮点和难点及问题解决(源码地址)
- 04(maven+SSH)网上商城项目实战之Spring mybatis项目搭建
- SpringBoot+Maven项目实战(4):集成Mybatis