javaweb--MyBatis

发布时间 2023-11-01 10:19:07作者: na2co3-

持久层框架,用于简化JDBC开发

负责将数据保存到数据库的那一层代码

JavaEE三层架构:表现层、业务层、持久层

免除了几乎所有JDBC代码及设置参数和获取结果集的工作。

1、导入查询user表中所有的数据

create DATABASE mybatis;
use mybatis;
drop table if exists tb_user;

create table tb_user(
id int PRIMARY KEY auto_increment,
username varchar(20),
password varchar(20),
gender char(1),
addr varchar(30)
);
INSERT into tb_user VALUES(1,'张三','123','男','北京');
INSERT into tb_user VALUES(2,'李四','234','女','天津');
INSERT into tb_user VALUES(3,'王五','11','男','西安');
SELECT * from mybatis
2、新建maven项目

3、导入mybatis依赖

<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
</dependencies>

导入数据库依赖

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>

导入测试依赖junit

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>

导入logback-core依赖(写日志)

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.20</version>
</dependency>

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>

 导入logback.xml文件

 

4、配置mybastic-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>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>//修改
                <property name="url" value="${jdbc.url}"/>//修改
                <property name="username" value="${jdbc.username}"/>//修改
                <property name="password" value="${jdbc.password}"/>//修改
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="EmployeeMapper.xml"/>
    </mappers>
</configuration>

配置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">
<!--namespace:名称空间。写接口给的全类名,相当于告诉MyBatis这个配置文件是实现哪个接口的。-->

<mapper namespace="test">
<!--resultType=""指定查询数据封装结果的时候使用自定义封装规则-->
<select id="getCatById" resultType="com.avb.pojo.User">
select * from tb_user;
</select>
<!--&lt;!&ndash;type指定为哪个javaBean自定义封装规则,id是唯一标识&ndash;&gt;
<resultMap id="mycat" type="smq.javabean.Cat">
&lt;!&ndash;id指定主键列的对应规则,column指定哪一列是主键列,property指定cat的哪个属性封装id这个列数据&ndash;&gt;
<id column="id" property="id"/>
&lt;!&ndash;普通列&ndash;&gt;
<result column="cName" property="name"/>
<result column="cgender" property="gender"/>
<result column="cAge" property="age"/>
</resultMap>-->
</mapper>

 主文件

<?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="dbconfig.properties"/>-->

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql:///mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="UserMapper.xml"/>
    </mappers>
</configuration>