Mybatis生成
Mybatis是ORM(Object/Relational/Mapping)类型的;
对象/关系/映射
Mybatis是数据持久化技术在对象模型和关系数据库之间建立起对应的关系,并且提供了一种机制叫JavaBean对象操作数据库表中数据。
纯接口开发规范:
1.映射文件的Mapper标签的namespace="类地址(全路径)"
2.映射文件接口同包且同名
3.映射文件中的SQLID与接口中的方法名相同
4.映射文件中所需的参数与接口的参数相同
5.返回值相同
Mybatis用法:
1.配置核心Xml文件
1.1:放入jar包或引入依赖
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.0</version> </dependency>
1.2:在src下创建XML文件,导入Mybatis协议,更改信息
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="驱动的地址"/>
<property name="url" value="连接信息 例(jdbc:mysql://localhost:3306/库名)"/>
<property name="username" value="数据库用户名"/>
<property name="password" value="数据库密码"/>
</dataSource>
</environment>
</environments>
<mappers> ----映射文件集
<mapper resource="org/mybatis/example/BlogMapper.xml"/>-----单个映射文件的地址
</mappers>
</configuration>
2快速生成映射文件:
2.1:将插件放入Eclipse下的dropins文件夹下
2.2:将generatorConfig-base.xml文件放入src下
2.3:修改generatorConfig-base.xml文件的驱动jar包地址
修改数据库连接信息
把文件地址改为当前项目名
<table schema="" tableName="表名" ></table>有几个表写几个table标签
右键generatorConfig-base.xml找到一个像飞镖的选项点击生成
报Project src does not exist错是因为没把文件地址改成当前项目名
3代码生成:
3.1:将下面的代码放入main方法configuartion倒最后一个包
3.2:修改File中的信息
File configFile = new File(“src/generatorConfig.xml”);
List<String> warnings = new ArrayList<String>();
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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构