SM的开发步骤
1、在中央库提供的web应用中查询依赖的GAV坐标值
- spring-context-support提供Spring的IoC容器
- spring-jdbc提供Spring针对JDBC编程的支持,并按照传递依赖自动添加spring-tx事务支持
- spring-web提供spring针对web编程的支持
- mybatis声明依赖mybatis框架
- mybatis-spring整合Spring和MyBatis框架
- HikariCP提供连接池依赖
- ojdbc8是oracle11g的jar包
为了解决默认使用JavaSE-1.5的问题,添加一个插件配置【局部配置方式】
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
2、创建用户和数据表
启动Oracle数据库就是启动2个服务:
- OracleServiceORCL
- OracleOraDb11g_home1TNSListener
使用sqlplus操作ORCL数据库
在cmd中输入命令sqlplus / as sysdba
create user yanjun identified by 123456; --创建用户yanjun,口令为123456
grant connect,resource,dba to yanjun; -- 通过使用角色给新用户授权
conn yanjun/123456 -- 切换当前用户到新用户
create table tb_users(
id number(18) primary key, -- 代理主键,类似于mysql中的bigint
username varchar2(20) not null unique,
password varchar2(20) not null,
birth date default sysdate, -- sysdate是系统提供的函数,用于获取数据库服务器的系统当前时
sex number(1) default 1,
salary number(8,2) default 0.0
);
-- 为了实现主键自增长效果,需要创建序列对象
create sequence seq_users;
-- 使用时可以通过序列对象的伪列直接使用nextval currval
insert into tb_users values(seq_users.nextval,'yanjun','12345',to_date('1989-4-30','yyyy-MM-dd'),1);
3、使用mybatis提供的官方插件执行反向映射
pom.xml中添加插件配置
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
<configurationFile>src/test/resources/generatorConfig.xml</configurationFile>
</configuration>
</plugin>
在目录src/test/resources目录下创建反向映射配置文件generatorConfig.xml
<table tableName="tb_users" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
使用菜单Run as—Maven build…----在goals中输入mybatis-generator:generate
检查方向映射生成的实体类、Mapper接口和Mapper.xml映射元文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yan.dao.UserMapper">
<resultMap id="BaseResultMap" type="com.yan.entity.User">
<id column="ID" jdbcType="NUMERIC" property="id" />
<result column="USERNAME" jdbcType="VARCHAR"
property="username" />
<result column="PASSWORD" jdbcType="VARCHAR"
property="password" />
<result column="BIRTH" jdbcType="DATE" property="birth" />
<result column="SEX" jdbcType="BOOLEAN" property="sex" />
<result column="SALARY" jdbcType="NUMERIC" property="salary" />
</resultMap>
<sql id