mysql query generator_实训三笔记 mybatis动态SQL和generator自动生成代码

本文介绍了如何在MyBatis中使用动态SQL,包括where条件拼接、动态批量删除和SQL片段引入。同时,通过MyBatis Generator自动生成Mapper接口、XML配置和实体类,详细讲解了配置文件设置、Java运行类的编写以及生成代码后的应用步骤。
摘要由CSDN通过智能技术生成

mybatis动态SQL和generator自动生成代码

mybatis动态SQL

1. 导入依赖pom.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.icis

mybatis03

1.0-SNAPSHOT

4.3.9.RELEASE

4.13

5.1.39

1.0.9

org.springframework

spring-context

${spring.version}

org.springframework

spring-aspects

${spring.version}

junit

junit

${junit.version}

org.springframework

spring-test

${spring.version}

org.springframework

spring-jdbc

${spring.version}

org.springframework

spring-tx

${spring.version}

mysql

mysql-connector-java

${mysql.version}

com.alibaba

druid

${druid.version}

org.mybatis

mybatis

3.4.0

mysql

mysql-connector-java

5.1.26

log4j

log4j

1.2.17

org.mybatis.generator

mybatis-generator-maven-plugin

1.3.2

src/main/resources/generatorConfig.xml

true

true

Generate MyBatis Artifacts

generate

org.mybatis.generator

mybatis-generator-core

1.3.2

2. 新建接口EmpDao.java

package com.icis.dao;

import com.icis.pojo.Empl;

import org.apache.ibatis.annotations.Insert;

import java.util.List;

public interface EmpDao {

Empl getEmpById(Integer empId);

// Integer empId;

// String empName;

// Double empSalary;

// Date empIntime;

// Integer empDeptId;

@Insert("INSERT INTO emp(emp_id, emp_name, emp_salary, emp_intime, emp_dept_id) VALUES (NULL, #{empName}, #{empSalary}, #{empIntime}, #{empDeptId})")

Integer insertEmpByEmp(Empl empl);

List getAllEmp(Empl empl);

//批量添加数据

Integer batchInsertEmp(List list);

//批量删除

Integer batchDeleteEmpById(List list);

}

4. 新建EmpDao.xml

1. 使用where拼接

-- 使用拼接动态sql

SELECT * FROM emp

AND empName LIKE #{empName}

AND empSex = #{empSex}

2. 动态批量删除 delete

DELETE FROM emp WHERE emp_id

#{id}

3. sql片段引入

select * from

emp WHERE emp_id=#{empId}

4. 动态sql循环遍历list插入

select * from

emp WHERE emp_id=#{empId}

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

-- 使用拼接动态sql

SELECT * FROM emp

AND empName LIKE #{empName}

AND empSex = #{empSex}

DELETE FROM emp WHERE emp_id

#{id}

select * from

emp WHERE emp_id=#{empId}

INSERT into emp VALUES

(null, #{emp.empName}, #{emp.empSalary}, #{emp.empIntime}, #{emp.empDeptId}, #{emp.empSex})

使用mybatis_generator自动生成mapper

1. 引入maven依赖

org.mybatis.generator

mybatis-generator-core

1.3.2

完整pom.xml如下

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.icis

mybatis03

1.0-SNAPSHOT

4.3.9.RELEASE

4.13

5.1.39

1.0.9

org.springframework

spring-context

${spring.version}

org.springframework

spring-aspects

${spring.version}

junit

junit

${junit.version}

org.springframework

spring-test

${spring.version}

org.springframework

spring-jdbc

${spring.version}

org.springframework

spring-tx

${spring.version}

mysql

mysql-connector-java

${mysql.version}

com.alibaba

druid

${druid.version}

org.mybatis

mybatis

3.4.0

mysql

mysql-connector-java

5.1.26

log4j

log4j

1.2.17

org.mybatis.generator

mybatis-generator-core

1.3.2

org.mybatis.generator

mybatis-generator-maven-plugin

1.3.2

src/main/resources/generatorConfig.xml

true

true

Generate MyBatis Artifacts

generate

org.mybatis.generator

mybatis-generator-core

1.3.2

2. 新建配置文件generatorConfig.xml并修改输出目录和目标表

/p>

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

connectionURL="jdbc:mysql://localhost:3306/db4" userId="root"

password="root">

targetProject="C:\Users\majiao\Desktop\majiao">

targetProject="C:\Users\majiao\Desktop\majiao">

targetPackage="com.icis.mapper"

targetProject="C:\Users\majiao\Desktop\majiao">

3. 新建java文件GeneratorSqlmap.java编译运行

即可在输出目录看见mapper

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("G:\\Xubuntu_Work_Space\\From_Xubuntu\\codeTest_2019_2_21\\IDEA\\Maven_Pojos\\mybatis03自动生成dao层\\src\\main\\resources\\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();

}

}

}

4. 把生成的实体类和mapper.xml复制到对应目录即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值