springmvc+mybaits的系统架构:
第一步:整合dao层 mybatis和spring整合,通过spring管理mapper接口。使用mapper的扫描器自动扫描mapper接口在spring中进行注册。
第二步:整合service层 通过spring管理 service接口。使用配置方式将service接口配置在spring配置文件中。实现事务控制。
第三步:整合springmvc 由于springmvc是spring的模块,不需要整合。
什么是逆向工程? mybatis需要程序员编写SQL语句,mybatis官网提供逆向工程,针对对于单表自动生成mybatis所要执行的代码(mapper.java、mapper.xml、pojo…)
实际开发中常用的逆向工程方式:由数据库的表生成代码 之所以强调单表两个字,是因为Mybatis逆向工程生成的Mapper所进行的操作都是针对单表的
1、首先在maven中添加依赖(pom.xml) 分别是:mybatis-generator-maven-plugin插件、log4j、mybatis、mysql、mybatis-generator的依赖(添加完后,在Maven Projects的Plugins中会多出一个mybatis-generator)
<!-- mybatis-generator自动生成代码插件,和pluginManagement平级-->
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
</dependencies>
</plugin>
</plugins>
//配置依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.0</version> </dependency> <!-- mybatis/spring包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.0</version> </dependency> <!-- 导入Mysql数据库链接jar包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.15</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.7</version> </dependency>
2、在目录在resources处右击选择New——>mybatis-generator-config(新建一个xml文件,会生成相关代码,我们只要改下配置就好了)
参考文档: https://blog.csdn.net/jz_say/article/details/80084957
https://blog.csdn.net/Winstin1995/article/details/79679887
https://blog.csdn.net/changsimeng/article/details/82496334
<generatorConfiguration>
<!-- <classPathEntry location="${db.driverLocation}"/>-->
<context id="context" targetRuntime="MyBatis3Simple">
<commentGenerator>
<property name="suppressAllComments" value="false"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/sys?serverTimezone=GMT%2B8"
userId="root" password="mm?548600">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- targetProject: 生成PO类的位置
targetPackage:指定生成的model生成所在的包名
targetProject: 指定在该项目下所在的路径 -->
<javaModelGenerator targetPackage="com.shopping.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="com.shopping.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator targetPackage="com.shopping.mapper" type="XMLMAPPER" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- <table schema="" tableName="" enableCountByExample="false" enableDeleteByExample="false"-->
<!-- enableSelectByExample="false" enableUpdateByExample="false"/>-->
<table tableName="sys_config"
domainObjectName="sys_config"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
</context>
</generatorConfiguration>
3.随后我们运行mybatis-generator-config,会自动生成对应的mapper和pojo文件
后续会整合mybatis,写一个简单的demo,详情见下一篇~
原文:https://www.cnblogs.com/minet/p/12296407.html