mybatis入门程序

mybatis 是一个持久层的框架, 是对 JDBC 操作数据库的封装, 使开发者只需要关注业务
本身, 不需要花费精力去处理加载驱动、 创建数据库连接对象、 创建 statement 语句对象、
参数设置、 结果集处理等一系列繁杂的过程代码。

mybatis 通过 xml 或注解进行配置, 将 java 对象与 sql 语句中的参数自动映射生成最终
执行的 sql 语句, 并将 sql 语句执行结果自动映射成 java 对象, 返回给业务层(service)
应用。
入门程序流程分析
1.创建项目,导入相关依赖(mysql驱动,mybatis)
2.编写SqlMapConfig.xml(***)
3.创建User实体
4.编写UserDao接口和UserDao接口映射文件(***)
5.测试

编写SqlMapConfig.xml(放在resource目录下)
<?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>

    <!-- 1.数据库连接相关信息 -->
    <!--
      environments
            default: 默认数据库环境
      environment: 一个数据库连接就配置一个environment
            id: 环境的唯一别名
      transactionManager: 事务管理器
           type: 指定事务管理器类型
              jdbc: 使用mybatis自带的事务管理器
      dataSource: 数据源(连接池)
           type:指定连接池类型
               pooled: 使用mybatis自带的连接池
     -->
    <environments default="mysql">

        <environment id="mysql">
            
            <transactionManager type="jdbc"></transactionManager>
            
            <dataSource type="pooled">
                <property name="url" value="jdbc:mysql://localhost:3306/spring?characterEncoding=UTF8"/>
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
   
    <!-- 2.关联Dao接口映射 (文件或类)-->
<mappers>
<mapper resource ="com.huihui.dao/UserDao.xml"/>
</mappers>
    
</configuration>

UserDao映射文件:(作用:定义Dao接口的方法所要执行的SQL语句)

注意点:要和映射的接口名称一致。而且要在相同目录下(看编译后的target目录)

<?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: 名称空间,该映射文件对应的Dao接口的名称,通常Dao接口的全名
 -->

<mapper namespace="com.huihui.dao.UserDao">

    <!-- 在这里面写每个方法对应的sql语句 -->


    <!-- 映射findAll方法 -->
    <!--
       select: 代表查询操作
          id: 映射的方法名称
          resultType: 结果的类型(输出参数)
             注意:如果结果类型是集合类型,只需要定义集合里面的类型即可
    -->
    <select id="findAll" resultType="com.huihui.pojo.User">
        SELECT * FROM USER
    </select>
</mapper>

测试类:



import com.huihui.dao.UserDao;
import com.huihui.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * mybatis程序
 */
public class Demo1 {


    public static void main(String[] args) throws IOException {
        //加载SqlMapConfig.xml,创建字节流
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");

        //创建SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

        //创建SqlSessionFactory
        SqlSessionFactory factory = builder.build(in);

        //1.创建SqlSession对象,生成Dao接口的代理对象
        SqlSession sqlSession = factory.openSession();

        //2.生成Dao接口的代理
        UserDao userDao = sqlSession.getMapper(UserDao.class);

        System.out.println("代理对象:"+userDao.getClass());

        //3.执行具体业务方法
        List<User> list = userDao.findAll();

        //4.遍历数据
        for(User u:list){
            System.out.println(u);
        }

        //释放资源
        sqlSession.close();
        in.close();

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值