Day01【环境搭建】

本项目是根据学习尚硅谷项目所写个人笔记。希望自己能够熟练掌握~

环境搭建准备

sql文件:

CREATE DATABASE `project_crowd` CHARACTER SET utf8;
use project_crowd;
drop table if exists t_admin;
create table t_admin
(
id int not null auto_increment, # 主键
login_acct varchar(255) not null, # 登录账号
user_pswd char(32) not null, # 登录密码
user_name varchar(255) not null, # 昵称
email varchar(255) not null, # 邮件地址
create_time char(19), # 创建时间
primary key (id)
);

通过以上sql文件创建数据库表,然后使用maven的mybatis逆向工程
pom配置:

<!-- 依赖MyBatis 核心包-->
<dependencies>
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis</artifactId>
		<version>3.2.8</version>
	</dependency>
</dependencies>
<!-- 控制Maven 在构建过程中相关配置-->
<build>
	<!-- 构建过程中用到的插件-->
	<plugins>
		<!-- 具体插件,逆向工程的操作是以构建过程中插件形式出现的-->
		<plugin>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-maven-plugin</artifactId>
			<version>1.3.0</version>
			<!-- 插件的依赖-->
			<dependencies>
				<!-- 逆向工程的核心依赖-->
				<dependency>
					<groupId>org.mybatis.generator</groupId>
					<artifactId>mybatis-generator-core</artifactId>
					<version>1.3.2</version>
				</dependency>
				<!-- 数据库连接池-->
				<dependency>
					<groupId>com.mchange</groupId>
					<artifactId>c3p0</artifactId>
					<version>0.9.2</version>
				</dependency>
				<!-- MySQL 驱动-->
				<dependency>
					<groupId>mysql</groupId>
					<artifactId>mysql-connector-java</artifactId>
					<version>5.1.8</version>
				</dependency>
			</dependencies>
		</plugin>
	</plugins>
</build>

generatorConfig.xml

<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
	<!-- mybatis-generator:generate -->
	<context id="atguiguTables" targetRuntime="MyBatis3">
		<commentGenerator>
			<!-- 是否去除自动生成的注释true:是;false:否-->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!--数据库连接的信息:驱动类、连接地址、用户名、密码-->
		<jdbcConnection
			driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://localhost:3306/project_crowd"
			userId="root"
			password="root">
		</jdbcConnection>
	
		<!-- 默认false,把JDBC DECIMAL 和NUMERIC 类型解析为Integer,为true 时把JDBC DECIMAL和NUMERIC 类型解析为java.math.BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>
		<!-- targetProject:生成Entity 类的路径-->
		<javaModelGenerator targetProject=".\src\main\java"
		targetPackage="com.atguigu.crowd.entity">
			<!-- enableSubPackages:是否让schema 作为包的后缀-->
			<property name="enableSubPackages" value="false" />
			<!-- 从数据库返回的值被清理前后的空格-->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
	
		<!-- targetProject:XxxMapper.xml 映射文件生成的路径-->
		<sqlMapGenerator targetProject=".\src\main\java"
		targetPackage="com.atguigu.crowd.mapper">
			<!-- enableSubPackages:是否让schema 作为包的后缀-->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		<!-- targetPackage:Mapper 接口生成的位置-->
		<javaClientGenerator type="XMLMAPPER"
		targetProject=".\src\main\java"
		targetPackage="com.atguigu.crowd.mapper">
			<!-- enableSubPackages:是否让schema 作为包的后缀-->
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>
		<!-- 数据库表名字和我们的entity 类对应的映射指定-->
		<table tableName="t_admin" domainObjectName="Admin" />
	</context>
</generatorConfiguration>

执行逆向生成操作的Maven 命令:

mybatis-generator:generate

Spring 整合MyBatis

在这里插入图片描述

在子工程中加入搭建环境所需要的具体依赖

子工程:选择component 工程。原因是具体依赖和component 工程相关。

<!-- Spring 依赖-->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-orm -->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-orm</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-webmvc</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
	<groupId>org.aspectj</groupId>
	<artifactId>aspectjweaver</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/cglib/cglib -->
<dependency>
	<groupId>cglib</groupId>
	<artifactId>cglib</artifactId>
</dependency>
<!-- MySQL 驱动-->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 数据源-->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
</dependency>
<!-- MyBatis -->
<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis</artifactId>
</dependency>
<!-- MyBatis 与Spring 整合-->
<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis-spring</artifactId>
</dependency>
<!-- MyBatis 分页插件-->
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
</dependency>
<!-- Spring 进行JSON 数据转换依赖-->
<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-databind</artifactId>
</dependency>
<!-- JSTL 标签库-->
<dependency>
	<groupId>jstl</groupId>
	<artifactId>jstl</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
	<groupId>com.google.code.gson</groupId>
	<artifactId>gson</artifactId>
</dependency>

准备jdbc.properties

在这里插入图片描述

jdbc.user=root
jdbc.password=root
jdbc.url=jdbc:mysql://localhost:3306/project_crowd?useUnicode=true&characterEncoding=UTF-8
jdbc.driver=com.mysql.jdbc.Driver

创建Spring 配置文件专门配置Spring 和MyBatis 整合相关

创建全局mybatis-config.xml文件 和 spring-persist-mybatis.xml:
在这里插入图片描述

在Spring 的配置文件中加载jdbc.properties 属性文件

spring-persist-mybatis.xml:

<!-- 加载jdbc.properties -->
<context:property-placeholder location="classpath:jdbc.properties"/>

配置数据源

spring-persist-mybatis.xml:

<!-- 配置数据源-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
	<!-- 连接数据库的用户名-->
	<property name="username" value="${jdbc.user}"/>
	<!-- 连接数据库的密码-->
	<property name="password" value="${jdbc.password}"/>
	<!-- 目标数据库的URL 地址-->
	<property name="url" value="${jdbc.url}"/>
	<!-- 数据库驱动全类名-->
	<property name="driverClassName" value="${jdbc.driver}"/>
</bean>

测试从数据源中获取数据库连接

创建Spring 的Junit 测试类

// 指定Spring 给Junit 提供的运行器类
@RunWith(SpringJUnit4ClassRunner.class)
// 加载Spring 配置文件的注解
@ContextConfiguration(locations = {"classpath:spring-persist-mybatis.xml"})
public class CrowdSpringTest {
	@Autowired
	private DataSource dataSource;
	@Test
	public void testDataSource() throws SQLException {
		// 1.通过数据源对象获取数据源连接
		Connection connection = dataSource.getConnection();
		// 2.打印数据库连接
		System.out.println(connection);
	}
}

配置SqlSessionFactoryBean

<!-- 配置SqlSessionFactoryBean -->
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
	<!-- 装配数据源-->
	<property name="dataSource" ref="dataSource"/>
	<!-- 指定MyBatis 全局配置文件位置-->
	<property name="configLocation" value="classpath:mybatis-config.xml"/>
	<!-- 指定Mapper 配置文件位置-->
	<property name="mapperLocations" value="classpath:mybatis/mapper/*Mapper.xml"/>
</bean>

配置MapperScannerConfigurer

<!-- 配置MapperScannerConfigurer -->
<!-- 把MyBatis 创建的Mapper 接口类型的代理对象扫描到IOC 容器中-->
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	<!-- 使用basePackage 属性指定Mapper 接口所在包-->
	<property name="basePackage" value="com.atguigu.crowd.mapper"/>
</bean>

测试是否可以装配XxxMapper 接口并通过这个接口操作数据库

@Autowired
private AdminService adminService;
@Test
public void testAdminMapperAutowired() {
	Admin admin = adminService.getAdminById(1);
	System.out.println(admin);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值