使用 IDEA 生成 POJO 实体类
a. 使用 idea 连接上需要操作的数据库。
b. 选中要生成实体类的数据库表:右键 ---> Scripted Extensions ---> Generate POJOs.groovy。
c. 在弹出的窗口选择生成的位置即可。
application.properties
属性自动映射实体类配置a. 在 application.properties 文件中定义的属性如下
wxpay.appid=wx5beac15ca207cdd40c wxpay.appsecret=5548012f33417fdsdsdd6f96b382fe548215e9
b.使用
@PropertySource(value = "classpath:application.properties")
即可。@Getter @Setter @Configuration @PropertySource(value = "classpath:application.properties") public class WeChatConfig { @Value("${wxpay.appid}") private String appId; // 公众号 appid @Value("${wxpay.appsecret}") private String appsecret; // 公众号密钥 } 执行以下测试代码,可以看到控制台输出的数据和配置文件一致 @RestController @RequestMapping("/api") public class VideoController { @Autowired private WeChatConfig weChatConfig; @GetMapping public void getInfo(){ System.out.println( weChatConfig.getAppId()+"==="+weChatConfig.getAppsecret() ); } } 配置文件读取参考:https://blog.csdn.net/CC1014524900/article/details/97061465
SpringBoot 2.1.6.RELEASE
使用 Mybatis 访问数据库和数据源时候问题a.如果 MySQL 的版本 mysql-connector-java 用的 6.0 以上,DB 的连接信息配置如下:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/xdclass?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8&useSSL=false spring.datasource.username=root spring.datasource.password=root com.mysql.jdbc.Driver 是 mysql-connector-java 5中的; com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的。 而且使用 com.mysql.cj.jdbc.Driver 的时候需要指定时区。 参考文章:https://blog.csdn.net/superdangbo/article/details/78732700
b. 在 application.properties 数据源的配置
如果不使用默认的数据(com.zaxxer.hikari.HikariDataSource),配置为 druid : spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
c. MyBatis相关配置
由于 DB 中配置的字段和实体类不对应(数据库有下划线,实体类是连接在一起),比如 DB 中配置 cover_Img,实体类中写为 coverImg。可以使用以下注解: # mybatis 下划线转驼峰配置,两者都可以(下面配置二选一即可) # mybatis.configuration.mapUnderscoreToCamelCase=true mybatis.configuration.map-underscore-to-camel-case=true
d. 如何看到执行的 SQL 语句
# 增加打印sql语句,用于本地开发测试(配合插件 Mybatis Log plugins) mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl 可以清晰看到执行的 SQL 语句。
PageHelper 分页插件的使用
a.引入依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> </dependency> b.增加配置文件 @Configuration public class MyBatisConfig { @Bean public PageHelper pageHelper() { PageHelper pageHelper = new PageHelper(); Properties properties = new Properties(); // 设置为 true 时,会将RowBounds第一个参数offset当成pageNum页码使用 properties.setProperty("offsetAsPageNum", "true"); //设置为 true 时,使用RowBounds分页会进行count查询 properties.setProperty("rowBoundsWithCount", "true"); properties.setProperty("reasonable", "true"); pageHelper.setProperties(properties); return pageHelper; } } c. 分页查询代码 @RestController @RequestMapping("/api") public class VideoController { @Autowired private VideoService videoService; /** * 分页查询 * * @param page 当前第几页 默认:1 * @param size 每次显示几条 默认:10 * @return */ @GetMapping("page") public Object pageVideo( @RequestParam(value = "page", defaultValue = "1") int page, @RequestParam(value = "size", defaultValue = "10") int size) { PageHelper.startPage(page, size); List<Video> videoList = videoService.findAll(); PageInfo<Video> pageInfo = new PageInfo<>(videoList); Map<String,Object> data = new HashMap<>(); data.put("total_size",pageInfo.getTotal()); //总条数 data.put("total_page",pageInfo.getPages()); //总页数 data.put("current_page",page); //当前页 data.put("data",pageInfo.getList()); //数据 return data; } }
Spring Boot 2.0 常见问题总结(二)
猜你喜欢
转载自www.cnblogs.com/miantiao312/p/11371066.html
今日推荐
周排行