1.框架技术概述
(1)概念:框架是一种经过检验的、具有特定功能的半成品软件。
作用:架构针对的功能或架构需要,对基础代码进行了封装并提供相应的API,不同的架构能够提供不同的功能等。
(2)主流框架技术简介
MyBatis 框架:基于ORM(object Relational Mappring,对象/关系映射)的优秀的持久化架构。
Spring 框架:一个开源的、轻量级的企业级应用架构,覆盖了Java EE技术的方方面面。
Sping MVC框架:正式名称是“Sping Web MVC”,基于Servlet API 架建的Web框架,从开始就包含在Spring Framework中,是目前最重要的MVC架构。
Hibernate框架:是一个优秀的持久性框架,是一个典型的ORM解决方案,通过简单地配置和编译即可实现繁琐的JDBC代码才能实现的功能,具有出色的封装和移植性。
Struts2 框架:一个基于Web的MVC框架。
2.使用MyBatis框架实现数据库操作
1.搭建基于MyBatis框架的开发环境
步骤:
(1)下载所需的jar文件
(2)创建项目并添加所需的jar文件,直接下载到本地库
<dependencies><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.16</version> </dependency> <!-- 引入Log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>RELEASE</version> <scope>test</scope> </dependency> </dependencies>
(3)编写MyBatis框架的核心配置文件
创建MyBatis框架的核心配置文件模版
1右击项目的resources目录,在弹出的快捷菜单中选择“New > mybatis-conflg”命令
选择“mybatis-conflg”命令
指定MyBatis架构的核心配置文件的文件名
<?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=""> </mapper>
基于模版创建的MyBatis框架的核心配置文件结果
在MyBatis框架的核心配置文件中配置数据库连接选项、日志组件等运行时行为,代码如下:
<?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> <!-- 引入database.properties配置 --> <properties resource="database.properties"/> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <typeAliases> <package name="com.bdqn.entity"/> </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> <mapper resource="mapper/EquipmentMapper.xml"/> <mapper resource="mapper/SupplierMapper.xml"/> </mappers> </configuration
(4)创建实体类
public class TSysUser implements Serializable { private static final long serialVersionUID = 42L; private int id; private String account; private String realName; private String password; private int sex; private Date birthday; private String phone; private String address; private long roleId; private long createdUserId; private Data createdTime; private long updatedUserId; private Date updatedTime; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public String getRealName() { return realName; } public void setRealName(String realName) { this.realName = realName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public long getRoleId() { return roleId; } public void setRoleId(long roleId) { this.roleId = roleId; } public long getCreatedUserId() { return createdUserId; } public void setCreatedUserId(long createdUserId) { this.createdUserId = createdUserId; } public Data getCreatedTime() { return createdTime; } public void setCreatedTime(Data createdTime) { this.createdTime = createdTime; } public long getUpdatedUserId() { return updatedUserId; } public void setUpdatedUserId(long updatedUserId) { this.updatedUserId = updatedUserId; } public Date getUpdatedTime() { return updatedTime; } public void setUpdatedTime(Date updatedTime) { this.updatedTime = updatedTime; } }
(5)创建Mapper接口
import com.bdqn.entity.Supplier; import java.util.List; public interface SupplierMapper { /** * 统计供货商表的总记录数 * @return */ public int count();
(6)创建SQL映射文件
<?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.bdqn.mapper.SupplierMapper"> <select id="count" resultType="int"> select count(1) from t_supplier </select> </mapper>
(7)编写测试类