MyBatis

springboot快速入门(二)

天大地大妈咪最大 提交于 2020-08-20 07:58:35
上一节,我们已经介绍过springboot的快速入门(一)了, 如果你没有看上一篇文章, 请看完上篇文章再来看这篇,上一篇的文章地址为: https://mp.weixin.qq.com/s/fS0kAiKzKg0kfMIms9SNLw 6. SpringBoot中使用Mybatis 6.1 总步骤 导入依赖:MySQL驱动、Druid依赖、MyBatis与SpringBoot整合依赖、Lombok依赖 在Service接口实现类上添加@Service注解 在Dao接口上添加@Mapper注解 在pom中将dao目录注册为资源目录 在配置文件中注册映射文件、实体类别名,及数据源 需求: 完成一个简单的注册功能 6.2 增加maven依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--mybatis于spring boot整合依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId>

Spring6——Spring整合Mybatis

喜夏-厌秋 提交于 2020-08-20 07:45:08
Spring整合Mybatis 思路:将Mybatis的SqlSessionFactory交给Spring。 SM整合步骤: 1.jar 2.类-表 3.mybatis配置文件conf.xml 4.通过mapper.xml将类、表建立映射关系 5.spring管理SqlSessionFactory 配置spring配置文件:applicationContext.xml 6.使用Spring-MyBatis整合产物开发程序 目标 :通过Spring产生Mybatis最终操作需要的动态mapper对象。 (1)DAO层实现类,继承SqlSessionDaoSupport类,该类提供了一个属性SqlSession (2)省略第一种方式中的实现类 直接使用MyBatis提供的实现类org.mybatis.spring.mapper.MapperFactoryBean。 (3)批量处理:批量配置实现类 注意:批量产生mapper对在ioc中的id值默认为接口名,接口名=id,接口名首字母小写 注解形式的依赖注入 //实现bean @Service("studentService") public class StudentServiceImpl implements IStudentService { //实现ioc中的注入,自动装配,默认byType @Autowired /

双日志商品库存模型设计

99封情书 提交于 2020-08-20 07:14:24
1 题述 1.1.库存模型回顾 关于库存模型的一些历史博客,请参考: 商品库存模型-逻辑设计小议 存货成本确定方法-进价计算设计 如果你刚刚接触商品库存设计, 并没有对该逻辑进行过较为深入的思考, 建议先阅读这两篇博客. 1.2.双日志库存模型简述 以往博客中我提到的, 关于同时兼顾1)可查询历史库存2)可准确确定商品成本,推荐的方法是库存日志法. 但该法有两个缺陷: 一些场合下, 出库计算会十分复杂, 计算量比较大; 有时会有金额/价格的(四舍五入导致的)近似误差产生; 基于此, 在约一年前, 我们又发明了一种双日志库存模型, 弥补了这两个缺陷. 经过一年左右调试和使用, 可以确定该方法确实比单日志库存模型要好用. 该方法简而言之, 就是设计两种库存日志. 入库日志: 核心包括记录入库单号及类型, 入库日期, 仓库/商品/商品属性/批次, 入库数量, 单位成本, 剩余数量; 出库日志: 核心包括记录出库单号及类型, 对应入库单号及类型和入库日志id, 出库日期, 仓库/商品/商品属性/批次, 出库数量, 单位成本(冗余); 入库日志上尤其需包含剩余数量, 这样进行进销存统计时就只需统计入库日志, 而不必统计出库日志. 出库日志上需包含对应的入库日志id, 一个入库日志会对应一个或多个出库日志, 这也意味着, 在出入库平衡的情况下, 出库日志数量一定不少于入库日志数量. 2 设计

MyBatis多表联合查询查询对于一对多的结果只有一条,SQL语句在数据库中查询结果确实是一对多,但使用MyBatis去查询只有一条数据

血红的双手。 提交于 2020-08-20 06:54:57
使用SQL语句在数据库中查询结果是一对多关系,但使用MyBatis去查询只有一条数据 数据库有三张表: 1.角色表 2.权限表 3.角色-权限关系表 权限表对应实体 角色表对应实体 mapper 以上配置使用SQL语句去数据库查询结果是一对多的,但MyBatis查询结果却只有一条数据,这里就是字段名重名导致的问题,角色表和权限表都有一个id字段,只需要将查询语句稍微修改一下就OK了,采用别名的方式去查询,即把两张表里的id取一个别名,修改后的mapper如下图: ~~**小建议:在创建数据库表是字段命名最好规范,否则含容易出现类似的问题 ** 来源: oschina 链接: https://my.oschina.net/u/4276395/blog/4497132

JAVA WEB 文件管理系统

青春壹個敷衍的年華 提交于 2020-08-20 06:05:51
@ 目录 软件环境 项目功能及框架图 项目ER图 项目功能模块截图 总结 声明: 技术交流,可联系博主(QQ:1841952224) 如果涉及版权,可联系博主删除,谢谢! 软件环境 操作系统:Windows 10 开发环境:IntelliJ IDEA 2018.3.1 + JDK 1.8.0_152 + Maven + SVN 数据库:MYSQL 5.7+ 软件技术框架:Spring Boot + Spring + SpringMVC + MyBatis + Bootstrap + Jquery + Vue + Maven 系统架构:微服务 开发环境不全的可以 点击此处 查找【Java 开发工具】 进行自由下载 项目功能及框架图 项目ER图 项目功能模块截图 总结 具有基本功能,可二次扩展。 项目下载 点击此处 来源: oschina 链接: https://my.oschina.net/u/4406166/blog/4335326

mybatis异常集之Cannot determine value type from string &apos;xxx&apos;

a 夏天 提交于 2020-08-20 06:05:17
前言 本文的创作来源于朋友在自学mybatis遇到的问题,问题如文章标题所示Cannot determine value type from string 'xxx'。他在网上搜索出来的答案基本上都是加上一个无参构造器,就可以解决问题。他的疑问点在于他实体没有使用无参构造器,而使用了有参构造器,有的查询方法不会报错,有的查询方法却报错了。下面将演示他出现的这种场景的示例。 注: mybatis的搭建过程忽略,仅演示案例。案例代码取自朋友 示例 1、entity public class Student { private int id; private String name; private String email; private int age; public Student(String aa,int bb){ System.out.println("===============执行student的有参数构造方法 aa = "+aa+" bb = "+bb+"================"); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void

面试了那么多程序员?为什么我看上了这个没啥工作经验的大学生

冷暖自知 提交于 2020-08-20 05:32:47
我是如何看上这个求职者的 1. 好,那你说说spring和springboot的区别吧 嗯,好,spring的话,要写一个xml文件来进行配置,跟springboot相比复杂了很多嘛,然后springmvc和mybatis,又要写两个xml,都是写xml,写的又生硬又长。用了springboot就简化了很多,也不用搞那么多的xml配置了,它集成了很多jar包,直接run一下就可以通过控制器访问页面了,springboot更好上手。 2. 我听你说xml,你有没有用过spring的配置类? 有用过,configuration 3. 那如果我要用懒加载生成bean实例的话,你会怎么做? 注解先打上,@bean,@lazy,如果有需要的话,再写上@scope。然后return这个类就可以了。 4. 我如果有个对象要从后台向前台传,要用到什么? 用ModelMap的put方法就可以把对象加到里面。 5. 学的不错嘛,你mybatis是如何和spring整合的? 先再spring的xml中开启scan扫描到dao层,再配置mapperScanner的basePackage值是dao层的包名,然后用autowrite直接注入就可以用了。 6. Mybatis的动态sql记得多少? if test=什么什么的,choose标签里面套个when test=什么什么的

SSM框架整合

北城以北 提交于 2020-08-19 22:09:10
环境要求 环境: IDEA MySQL 5.7.19 Tomcat 9 Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识; 项目结构图 java目录 pojo dao service controller resources目录 database.properties mybatis-config.xml spring-dao.xml spring-service.xml spring-mvc.xml applicationContext.xml web目录 index.jsp WEB-INF jsp目录 web.xml 数据库环境 创建一个存放书籍数据的数据库表 CREATE DATABASE `ssmbuild`; USE `ssmbuild`; DROP TABLE IF EXISTS `books`; CREATE TABLE `books` ( `bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id', `bookName` VARCHAR(100) NOT NULL COMMENT '书名', `bookCounts` INT(11) NOT NULL COMMENT '数量', `detail` VARCHAR(200) NOT NULL

SpringBoot整合MyBatis

纵饮孤独 提交于 2020-08-19 19:56:54
一、准备工作 1、建表语句,使用MySQL5.7.28 SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for t_user-- ----------------------------DROP TABLE IF EXISTS `t_user`;CREATE TABLE `t_user` ( `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号', `USER_NAME` varchar(32) DEFAULT NULL COMMENT '用户名', `PASSWORD` varchar(32) DEFAULT NULL COMMENT '密码', `ROLES` varchar(255) DEFAULT NULL COMMENT '角色信息', PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;-- ------------------------------ Records of t_user-- ----------------------------INSERT INTO `t_user` VALUES ('1', 'zhangsan'