跟着某站视频敲的,记录我的学习过程。(第九点还有点不完善,等我解决)
1.根据【分层思想】创建包类
分层思想(解耦:高内聚低耦合)
controller层:接收请求、(调用service层,返回结果)、响应结果
service层:业务逻辑判断
mapper层:接口类
mapper.xml mybatis与数据库的相关操作
entity(po、model)层:JavaBean实体
util层:工具类(通用的方法/类)
test:测试类/方法
2.在【WEB-INF】目录下创建【lib】文件夹,将对应的mysql和Mybatis的jar包拷贝进来。
3.将jar包集成到项目中
3.1 点击文件,剩余步骤如下图:
3.2 找到该项目下的webapp,选择WEB-INF下的lib文件,点击确定
3.3 勾选lib文件,点击应用,确定
4.创建实体类
4.1 在navicat创建数据库,创建表
4.2 在entity层中创建User实体类
快速生成快捷键Alt+Fn+Insert
package com.xxxx.demo.entity;
public class User {
private Integer userId;
private String userName;
private String userPwd;
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public Integer getUserAge() {
return userAge;
}
public void setUserAge(Integer userAge) {
this.userAge = userAge;
}
private Integer userAge;
}
5.将【UserMapper.xml】文件拷贝到mapper层中并创建相同名称的接口类
UserMapper.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">
<!--首先解析namespace:命名空间,此属性通常用来映射Dao(Mapper)层接口-->
<mapper namespace="com.xxxx.demo.mapper.UserMapper">
<!--id:对应Dao(Mapper)层接口方法名 parameterType:执行输入参数类型-->
<select id="queryUserByName" parameterType="string" resultType="com.xxxx.demo.entity.User">
select * from tb_user where userName = #{userName}
</select>
</mapper>
s
UserMapper
package com.xxxx.demo.mapper;
import com.xxxx.demo.entity.User;
/*
* 用户接口类
* */
public interface UserMapper {
public User queryUserByName(String userName);
}
6. 将【mysql.properties】和【mybatis-config.xml】拷贝到src根目录
【mysql.properties】
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/java_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username=root
password=111111
【mybatis-config.xml】
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--
peoperties 标签中的配置可以提供整个配置文件使用,在任何位置都可以引入其中配置的值。
properties 标签可以通过子标签property标签来配置一些子元素信息,也可以配置外部的动态文件。
-->
<properties resource="mysql.properties"/><!--也可以配置url,但url和resource只能存在一个-->
<!--类型别名
UserMapper.xml文件中的resultType属性值
-->
<typeAliases>
<typeAlias alias="User" type="com.xxxx.demo.entity.User"/>
</typeAliases>
<!--对事务的管理和连接池的配置-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!--mappers映射器-->
<mappers>
<!--自动扫描包内的Mapper接口与配置文件-->
<package name="com.xxxx.demo.mapper"/>
</mappers>
</configuration>
7.获取SqlSession
现在util层中创建 GetSqlSession
package com.xxxx.demo.util;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class GetSqlSession {
/**
* 获取SqlSession对象
* @return
*/
public static SqlSession createSqlSession() {
SqlSessionFactory sqlSessionFactory = null;
InputStream input = null;
SqlSession session = null;
try {
//获得mybatis的环境配置文件
String resource = "mybatis-config.xml";
//以流的方式获取recource(mybatis环境配置文件)
input = Resources.getResourceAsStream(resource);
//创建会话工厂
sqlSessionFactory = new SqlSessionFactoryBuilder().build(input);
//通过工厂得到SqlSession
session = sqlSessionFactory.openSession();
return session;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
System.out.println(createSqlSession());
}
}
8. 执行main方法,出现下图就配置成功了!!!
9. 在test层建一个测试类进行测试
mybatis集成成功!!!