Mybatis框架学习(一)

1、Mybatis概念

Mybatis是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架,支持定制SQL。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索。 MyBatis 可以使用简单的XML 或注解用于配置和原始映射,将接口和 Java 的 POJO( Plain Old Java Objects,普通的Java 对象)映射成数据库中的记录。它一种“半自动化”的ORM实现。 这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现而言,“全自动”ORM实现了POJO和数据库表之间的映射,以及 SQL 的自动生成和执行。

2、程序示例

A、环境搭建:
a、在官网下载mysql的jar包,导入到新建项目的lib文件夹。
b、新建全局配置文件mybatis.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><!--引入dtd文件(XML校验文件,有这个 文件之后,在xml文件中可以有自动补全功能)-->
    <environments default="mybatis">
        <environment id="mybatis">
            <transactionManager type="JDBC"></transactionManager> <!-- 配置事务管理 ,type为JDBC即使用原生JDBC管理-->
            <dataSource type="POOLED"> <!-- type为pooled表示数据库连接 -->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/new"/>
                <property name="username" value="root"/>
                <property name="password" value="1213"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 告知映射方式 -->
    <mappers>
        <mapper resource="com/mapper/studentMapper.xml"/>
    </mappers>
</configuration>

c、创建实体类,写出构造方法、get方法、set方法以及toString方法,数据库中建表,且表的列名最好和实体类中的属性一致。
d、新建一个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="com.mapper.studentMapper"> <!-- namespace相当于在指定的包新建了一个类 -->
<!-- 结果类型是实体类的全类名,每个元素的类型为map -->
    <select id="selectAll" resultType="com.entity.student" parameterType="map">
        select * from student where num = #{num} and name = #{name}
    </select>
</mapper>

B、写测试类

public static void main(String[] args) throws Exception {
        SqlSession sqlSession = null;
        // 使用工厂模式和建造者模式
        InputStream in = new FileInputStream("src/mybatis.xml");
        SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(in);
        sqlSession = ssf.openSession();
        //查询时,根据多个条件查询,就使用map存放参数
        Map map = new HashMap();
        map.put("num", 1);
        map.put("name", "张三");
        List<student> list  = sqlSession .selectList("com.mapper.studentMapper.selectAll",map);
        for (student stu : list) {
            System.out.println(stu);
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值