热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:MyBatis学习之逆向工程

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MyBatis学习之逆向工程相关的知识,希望对你有一定的参考价值。转载:http://w

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MyBatis学习之逆向工程相关的知识,希望对你有一定的参考价值。




转载:http://www.cnblogs.com/wwwzzz/p/8298168.html


1.什么是mybatis逆向工程

在使用mybatis时需要程序员自己编写sql语句,针对单表的sql语句量是很大的,mybatis官方提供了一种根据数据库表生成mybatis执行代码的工具,这个工具就是一个逆向工程。 

逆向工程:数据库单表----->>>生成代码(mapper.java,mapper.xml,pojo)


2.1 导入核心包

mybatis-generator-core-1.3.2.jar


2.2 配置逆向工程的配置文件(generatorConfig.xml)




PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">







mysql.jdbc.Driver"
cOnnectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
password="mysql">







targetProject=".\\src">






targetProject=".\\src">




targetPackage="cn.itcast.mybatis.mapper"
targetProject=".\\src">













3.执行逆向工程生成代码

执行java类方法:创建 GeneratorSqlmap.java 



import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;
public class GeneratorSqlmap {
public void generator() throws Exception{
List warnings = new ArrayList();
boolean overwrite = true;
//指定 逆向工程配置文件
File cOnfigFile= new File("generatorConfig.xml"); //逆向工程配置文件地址.
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration cOnfig= cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);
}
public static void main(String[] args) throws Exception {
try {
GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}

}
}


 

 2.4生成的代码如下:

 


2.5.将生成的代码拷贝到业务系统工程中测试

 



public class ItemsMapperTest {
private ApplicationContext applicationContext;

private ItemsMapper itemsMapper;
@Before
public void setUp() throws Exception {
//初始化spring的容器
applicatiOnContext=
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
itemsMapper= (ItemsMapper) applicationContext.getBean("itemsMapper");
}
//根据主键删除
@Test
public void testDeleteByPrimaryKey() {
//根据主键删除
// itemsMapper.deleteByPrimaryKey(id);
//将符合条件的记录删除,参考下边的查询自定义条件example
// itemsMapper.deleteByExample(example);
}
//插入商品
@Test
public void testInsert() {
// itemsMapper.insert(record);
}
//自定义条件查询
@Test
public void testSelectByExample() {
ItemsExample itemsExample = new ItemsExample();
ItemsExample.Criteria criteria = itemsExample.createCriteria();
//使用criteria自定义查询条件
criteria.andNameEqualTo("水杯");
criteria.andIdEqualTo(1);

List list = itemsMapper.selectByExample(itemsExample);
System.out.println(list);
}
//根据主键查询
@Test
public void testSelectByPrimaryKey() {
Items items = itemsMapper.selectByPrimaryKey(1);
System.out.println(items);
}
//更新
@Test
public void testUpdateByPrimaryKey() {
//根据主键更新,不管更新对象的属性是否为空全部更新
// itemsMapper.updateByPrimaryKey(record)
//根据主键更新,只更新不为空的属性,参考mapper.xml中的代码
// itemsMapper.updateByPrimaryKeySelective(record)
}




推荐阅读
author-avatar
当即和谐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有