十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
项目实战使用的技术是spring boot ,mybatis,druid
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了清远免费建站欢迎大家使用!
mybatis采用注解的方式,没有采用xml的方式,省去配置的内容。
项目使用maven管理依赖包,数据库使用MySQL5.7
引入依赖:
org.mybatis
mybatis
3.4.1
com.alibaba
druid-spring-boot-starter
1.1.10
mysql
mysql-connector-java
6.0.6
项目配置文件
#DB数据源配置
spring.datasource.druid.initial-size=1
spring.datasource.druid.min-idle=3
spring.datasource.druid.max-active=20
#配置获取连接等待超时的时间
spring.datasource.druid.max-wait=60000
#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=60000
#配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis=300000
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
spring.datasource.druid.one.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.one.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.one.url=jdbc:mysql://mysql:3306/seasfood?characterEncoding=utf8&useSSL=true&serverTimezone=PRC&nullNamePatternMatchesAll=true
spring.datasource.druid.one.username=root
spring.datasource.druid.one.password=123456
需要配置数据库的地址和密码,这个例子仅对druid做了简单的配置,更多优化配置到druid官网查看
项目数据源配置,这里没有读写分离的数据源配置,编写一个spring配置类:
@Configuration("DaoConfiguration")
@EnableTransactionManagement
public class DaoConfiguration {
@Primary
@Bean
@ConfigurationProperties("spring.datasource.druid.one")
public DataSource dataSourceOne() {
return DruidDataSourceBuilder.create().build();
}
@Bean
public DataSourceTransactionManager dataSourceTransactionManager() {
return new DataSourceTransactionManager(dataSourceOne());
}
}
编写一个mapper接口,必须在spring能够扫描到的包下
@Mapper
public interface GoodsMapper {
@Select("SELECT * FROM goods")
List selectGoods(@Param("now") Date date);
}
在service组件中注入mapper接口即可使用
@Autowired
private GoodsMapper mapper;
mapper.selectGoods();
删除记录:
@Delete("DELETE FROM mytable WHERE id=#{}")
更新记录:
@Update("UPDATE mytable SET myname=#{myname}")
插入记录:
@Insert("INSERT INTO mytable (myfield1,myfield2) VALUES (#{var1},#{var2})
-
使用@SelectKey获取自增主键的值:
@SelectKey(statement = "select max(addr_id)+1 as id from user_address", before = true, keyColumn = "id", resultType = String.class, keyProperty = "addr_id")
使用注解时,Mapper中的queryId:
使用注解的方法名作为queryId,如果方法名相同的,其中一个会以方法名作为queryId,而其他的则会以类全名加方法名作为queryId