开发web应用
MyBatis=实现java语言持久化存储 替代JDBC
1,掌握基本SQL语句 多表查询
2,JDBC
SPring=对对象进行管理
SpringMVC====接受请求,处理请求,响应
传统JDBC开发的缺陷:JDBC使用java操作数据库 重复代码,效率低 重复操作
业务变动,硬编码问题,代码不能写死 如private Userdao = new UserdapImpl();
数据库链接创建、释放频繁消耗资源 影响性能
解决:工具类
连接池
反射 自动映射
ORM思想:
对象关系映射 数据库的表和实体类类属性对应起来,实现对类的操作就能操作数据库
Mybatis:
步骤 1,创建项目,导入相关jar包
2,创建user表
3,编写User实体类 JavaBean的规范:所有属性私有private (包装类)2,get/set方法/3,默认无参的构造方法,toString方法
4,编写映射文件UserMapper.xml
5,编写核心配置文件SqlMapConfig.xml
6,编写测试类
7,测试
mapper文件
<?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="userMapper">
<select id="findAll" resultType="com.hpe.bean.User">
SELECT * FROM user
</select>
</mapper>
核心配置文件
environments:多个环境 default:指定环境
environment:环境
<?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>
<!--配置环境-->
<environments default="dev">
<environment id="dev">
<!--配置事务管理器-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--加载映射配置文件-->
<mapper resource="com/hpe/mapper/UserMapper.xml"/>
</mappers>
</configuration>
测试一下
public class MyTest {
@Test
public void test1() throws IOException {
//使用MyBatis进行查询操作
//加载核心配置文件
InputStream stream = Resources.getResourceAsStream("SqlMapConfig.xml");
//获得sqlSession工厂对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(stream);
//获取Session
SqlSession session = factory.openSession();
//运行sql语句
List<User> objects = session.selectList("userMapper.findAll");
//遍历集合
for(User u : objects){
System.out.println(u);
}
//释放资源
session.close();
}
}
别名 和 引入配置文件
<?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>
<!--引入配置文件-->
<properties resource="jdbc.properties"/>
<!--utype:需要配置别名的类的全类名
alias:对应的别名
-->
<typeAliases>
<typeAlias type="com.hpe.bean.User" alias="user"/>
<!--name:指定为哪个包下的类指定别名 默认首字母小写的类名(基本数据类型)-->
<package name="com.hpe.bean"/>
</typeAliases>
<!--配置环境-->
<environments default="dev">
<environment id="dev">
<!--配置事务管理器-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>根据UserMapper填入对应key
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--加载映射配置文件-->
<mapper resource="com/hpe/mapper/UserMapper.xml"/>
</mappers>
</configuration>