一、控制层采用springmvc、持久层使用mybatis实现
springmvc+mybaits的系统架构:
第一步:整合dao层 mybatis和spring整合,通过spring管理mapper接口。使用mapper的扫描器自动扫描mapper接口在spring中进行注册。
第二步:整合service层 通过spring管理 service接口。使用配置方式将service接口配置在spring配置文件中。实现事务控制。
第三步:整合springmvc 由于springmvc是spring的模块,不需要整合。
二、mybatis逆向工程
什么是逆向工程? 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,详情见下一篇~