2020.11.19框架-mybatis(1)

框架——MyBatis

  1. 概述:框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;

  2. 定义:定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

  3. 简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使 用别人搭好的舞台,你来做表演。

  4. 框架要解决的问题:技术整合问题。

  5. 软件开发的分层重要性:

  6. 易于控制,易于延展,易于分配资源

  7. 框架的分类:

  8. MyBatis_持久化框架(DAO,数据访问层、Data Access Object)

  9. Spring MVC_web层问题的MVC框架(Servlet,控制器寸,封装数据)

  10. Spring_技术整合问题框架(JavaBean数据模型、业务逻辑处理)

01_1持久化框架–MyBatis

  • 概述:内部封装了jdbc,开发者只需关注sql语句本省

  • 配置:xml或者注解方式,最后由mybatis矿建执行sql将结果映射为java对象并返回。

01_2框架前期搭建

官网:http://www.mybatis.org/mybatis-3/zh/getting-started.html

如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中:

[<dependency>]() 
    <groupId>org.mybatis</groupId> 
    <artifactId>mybatis</artifactId> 
    <version>3.4.5</version> 
</dependency> 

01_3开发环境及步骤

  1. 创建普通的Maven工程
  2. 在pom.xml文件中添加MyBatista3.4.5的坐标(junit)
  3. 导入数据库的pom.xml文件
  4. 在 org.westos.domain 包下编写实体类(bean)
  5. 在org.westos.dao 包下编写接口Mapper

01_4编写持久层接口的映射文件xxxMapper.xml文件

  1. 要求:

    创建位置:必须和持久层接口在相同的包中。

    名称:必须以持久层接口名称命名文件名,扩展名是Sqlconfig.xml

  2. 在maven工程的resources目录下创建org/westos/dao 这个三级目录,然后在这个目录下 创建xxxMapper.xml 映射文件

  3. .xml 映射文件中的内容如下:需要注意namespace的值是接口的全限定名 id的值是接口 中的方法名

<?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值是接口的全路径--> <mapper namespace="org.westos.dao.IUserDao"> <!--注意id的值是接口中的方法名 resultType 查询返回的结果类型--> <select id="findAll" resultType="org.westos.domain.User"> select * from user; </select> </mapper> 

01_5编写MyBatis的核心配置文件 SqlMapConfifig.xml

1.在工程的resources目录下创建 SqlMapConfig.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>
   <environments default="mysql"> 
   <environment id="mysql"> 
   <transactionManager type="JDBC">
   </transactionManager> 
   <dataSource type="POOLED"> 
   <!--配置数据源的四个基本参数--> 
   <property name="driver" value="com.mysql.jdbc.Driver"/> 
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_test"/> 
<property name="username" value="root"/>
 <property name="password" value="100166"/>
  </dataSource> </environment> </environments>
   <!--引入dao接口的映射文件--> <mappers> <mapper resource="org/westos/dao/IUserDao.xml"></mapper> 
   </mappers>
    </configuration>

01_6数据库和表单的准备

01_7编写测试类,进行测试

02_快速入门案例

bean包

    private String username;
    private Date birthday;
    private String sex;
    private String adress;

dao包

public interface UserMapper {
    List<User> findAll();
}

resources

org.westos.dao(三级包)
<?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="org.westos.dao.UserMapper">
    <select id="findAll" resultType="org.westos.bean.User">
        select * from user ;
    </select>
</mapper>

SqlMapConfig.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>
<!--    配置数据库-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <!--            配置四个参数-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis_test"/>
                <property name="username" value="root"/>
                <property name="password" value="100166"/>
            </dataSource>
        </environment>
    </environments>
<!--    引入dao的映射文件-->
    <mappers>
        <mapper resource="org/westos/dao/UserMapper.xml"></mapper>
    </mappers>
</configuration>

test测试类

public class testUserDao {
    @Test
    public void testFindAll() throws IOException {
//        读取核心配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//        构建工厂
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//        打开sqlsession
        SqlSession sqlSession = factory.openSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> list = mapper.findAll();
//        遍历集合
        for (User user : list) {
            System.out.println(user);
        }
    }
}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>mybatis_demo3</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
<!--        导入mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
<!--        数据库-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
<!--        测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>


</project>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有点。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值