首页 > 编程知识 正文

物联网app开发入门,cadmapper

时间:2023-05-05 09:45:23 阅读:126121 作者:1359

Myabtis的Tkmapper反向工程Tkmapper角色提供封装的基础sql,以及mybatis-plus的功能,以及数据库字段到实体类的映射和映射

一方面,环境建设在此之前完成mybatis数据源的配置

引入依赖! - tk mapper-- dependencygroupidtk.my batis/groupidartifactidmapper-spring-boot-starter/artifactidversion2.1. DDD 与Java配置类和作为SpringBoot启动器的Mybatis-plus不同,TkMaper是插件和xml配置文件的格式

导入插件

buildpluginsplugingroupidorg.my batis.generator/groupidartifactidmybatis-generator-maven-plugin/artifactidversion 在此配置文件$ { basedir }/src/main/resources/genertator/generator config.XML/configuration depender groupidartifactidmysql-connector-Java/artifactidversion8.0. 26/version ependencydependencygroupidtk.my batis/grour

//创作接口继承两个通用映射器在xml文件中引入这样自动生成的文件时,将自动生成此接口publicinterfacegenertatormappertextendsmappert,mysqqqertate

? XML版本=' 1.0 '编码=' utf-8 '? doctypegeneratorconfigurationpublic '-//my batis.org//dtdmybatisgeneratorconfiguration 1.0//en ' 3358 my batis.orr - -属性资源

e="jdbc.properties"/>--> <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <!-- 配置 GeneralDAO --> <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> <property name="mappers" value="com.llf.GenertatorMapper.GenertatorMapper"/> </plugin> <!-- 配置数据库连接 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mydb2?serverTimezone=UTC" userId="root" password="123456"> </jdbcConnection> <!-- 配置实体类存放路径 --> <javaModelGenerator targetPackage="com.llf.Pojo" targetProject="src/main/java"/> <!-- 配置 XML 存放路径 Mapper是存放xml的包名--> <sqlMapGenerator targetPackage="/" targetProject="src/main/resources/Mapper"/> <!-- 配置 Mapper 存放路径 --> <javaClientGenerator targetPackage="com.llf.Mapper" targetProject="src/main/java" type="XMLMAPPER"/> <!-- 配置需要指定生成的数据库和表,% 代表所有表 --> <table tableName="student"></table> </context></generatorConfiguration>

具体的包结构

一切完成后 点开右侧Maven—》Plugins—》mybatis-generator—》mybatis-generator:generator

双击运行即可

二、功能测试

基本的增删改查

System.out.println("======================增加========================"); Student student = new Student("1811062017", "yjddjc", "男", 12, "CS"); int insert = studentMapper.insert(student); if (insert!=0){ System.out.println("添加成功"); } System.out.println("======================修改========================"); Student student1 = new Student("1811062017", "yjddjc", "男", 13, "CS"); studentMapper.updateByPrimaryKey(student1); if (student1.getSage()==13){ System.out.println("修改成功"); } System.out.println("======================查询========================"); List<Student> studentList = studentMapper.selectAll(); for (Student student2 : studentList) { System.out.println(student2); } System.out.println("查询成功"); System.out.println("======================删除========================"); int i = studentMapper.deleteByPrimaryKey(student1); if (i!=0){ System.out.println("删除成功"); }

因为TkMapper的大多数方法虽然叫做xxxByPrimaryKey但是它仍接受的是一个对象,因此我们要在实体类中显示的添加注解@id来声明哪一个属性是主键id,但是如果是自动生成的实体类,他是会自动添加id注解

@AllArgsConstructor@NoArgsConstructor@Data// 为了避免产生属性匹配失败的情况 应该将所有数据类型使用它的包装类来实现public class Student { @Id private String sno; private String sname; private String sex; private Integer sage; private String sdept; } 三、使用条件构造器完成条件查询 //条件查询 sdept为cs的人 Example example = new Example(Student.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo("sdept","cs"); List<Student> students = studentMapper.selectByExample(example); for (Student student : students) { System.out.println(student); } //分页 Integer pageNum=2; Integer pageSize=3;//计算起始页 Integer start=(pageNum-1)*pageSize; RowBounds rowBounds = new RowBounds(start,pageSize); List<Student> studentList = studentMapper.selectByRowBounds(new Student(), rowBounds); for (Student student : studentList) { System.out.println(student); } //两个条件一起查询 即使cs 又是男生 Example example = new Example(Student.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo("sdept","cs"); criteria.andEqualTo("sex","male"); List<Student> studentList = studentMapper.selectByExample(example); for (Student student : studentList) { System.out.println(student); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。