目录
项目环境搭建
servlet实例
核心依赖
导入日志
编译环境
mapper注册
resouces中
dao中
MyBatis配置文件
实例效果
导入配置文件
Druid连接池
Druid连接池是什么?
如何配置Druid连接池?
实体类
实例效果
项目环境搭建
1.在pom.xml中变为war包: <packaging>war</packaging>
2.在main目录下新建webapp/WEB-INF; 并创建web.xml
<dependency>
<!-- servlet编译环境 -->
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<!-- jsp编译环境 -->
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
servlet实例
在src/main/java目录下创建Servlet类及注解映射路径即可开启web访问
@WebServlet("/my")
public class MyServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("hello,maven!!!");
}
}
核心依赖
在pom.xml导入MyBatis核心依赖
<!--MyBatis核心依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!--MySql驱动依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
导入日志
在pom.xml配置文件中导入日志,对于我们后续排查问题会很有帮助
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
可知日志中给我们提供了相关信息,方便我们之后排查问题
i:myBatis的配置,得出框架的关键信息,以及开启了事务
ii:使用预处理执行对象进行操作的
DEBUG [main] - Setting autocommit to false on JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@759d26fb]
DEBUG [main] - ==> Preparing: SELECT count(0) FROM t_student
DEBUG [main] - ==> Parameters:
DEBUG [main] - <== Total: 1
DEBUG [main] - ==> Preparing: select * from t_student LIMIT ?
DEBUG [main] - ==> Parameters: 5(Integer)
DEBUG [main] - <== Total: 5
首页:1
尾页:5
当前页:1
页数量:5
iii:编写日志的配置文件放入资源目录,名字必须log4j.properties
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
编译环境
<dependency>
<!-- jstl 支持 -->
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<!-- servlet编译环境 -->
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<!-- jsp编译环境 -->
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
mapper注册
resouces中
一般mapper.xml默认在resources中单独设立一个mapper文件
<mappers>
<!--注册Mapper文件的所在位置-->
<mapper resource="xxxMapper.xml"/>
</mappers>
dao中
一般mapper.xml也可以放在导中,这样要先在pom.xml中配置下列文件
<build>
<resources>
<resource>
<!-- 将src/main/java构建成资源路径 -->
<directory>src/main/java</directory>
<includes>
<!-- java下包含多级路径下的任何xml文件 -->
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
之后修改MyBtis配置文件中的mappers的路径
<mappers>
<mapper resource="com/csdn/dao/xxxxMapper.xml"></mapper>
</mappers>
MyBatis配置文件
在进行项目之前我们要先把配置文件抽取出来
实例效果
<properties resource="db.properties"></properties>
导入配置文件
<environments default="mysqlDB">
<environment id="mysqlDB">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="org.apache.ibatis.datasource.pooled.PooledDataSourceFactory">
<property name="driver" value="${driver}"></property>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
Druid连接池
在这里我们使用上面的datasource时传入的时MyBatis自带的连接池,在平常测试时使用绰绰有余,但如果考虑提升性能的话就会考虑使用Druid连接池
Druid连接池是什么?
Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和 SQL 解析器组成。该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计 SQL 信息、SQL 性能收集、SQL 注入检查、SQL 翻译等,程序员可以通过定制来实现自己需要的功能。
Druid是目前性能最好的连接池
如何配置Druid连接池?
i:在pom.xml中导入核心依赖
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.18</version>
</dependency>
ii:再utils中创建自定义deDruid的类集成mtbatis连接词功能,构造方法中传入Druid数据源
public class MyDruidFactory extends PooledDataSourceFactory {
public MyDruidFactory(){
this.dataSource=new DruidDataSource();
}
}
iii:在maybatis配置中引入ii中自定义的Druid的类
<environments default="mysqlDB">
<environment id="mysqlDB">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="com.qf.utils.MyDruidFactory">
<property name="driverClass" value="${driver}"></property>
<property name="jdbcUrl" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
实体类
有两种方法选其一即可
定义类的别名
<typeAliases>
<typeAlias type="com.yj.user" alias="user" />
</typeAliases>
在MyBatis.xml中设置,以原类名作为别名
<typeAliases>
<package name="com.yj.entity"/>
</typeAliases>