Mybatis笔记(一)

1、全局配置文件内容
  • 1.1、< transationManager/> type属性可取值
    • 1.1.1、JDBC,事务管理使用JDBC原生事务管理方式
    • 1.1.2、MANAGED把事务管理转交给其他容器,原生JDBC事务setAutoMapping(false);
  • 1.2 < dataSouce/>type属性
    • 1.2.1、POOLED 使用数据库连接池
    • 1.2.2、UNPOOLED 不适用数据库连接池,和直接使用JDBC一样
    • 1.2.3、JNDI:Java命名目录接口技术

【注】数据库连接池:

1、在内存中开辟一块空间,存放多个数据库连接对象。
2、JDBC Tomcat Pool直接由tomcat产生数据库连接池。
3、图示

  • 3.1、active状态:当前连接对象被应用程序使用中。
  • 3.2、idle空闲状态:等待应用程序使用

4、使用数据库连接池的目的

  • 4.1、在高频率访问数据库时,使用数据库连接池也可以降低服务器系统压力,提升程序运行效率。
    • 4.1.1、小型项目不适用数据库连接池

5、实现JDBC tomcat Pool的步骤:

  • 5.1、在web项目的META-INF中存放context.xml,在context.xml编写数据库连接池相关属性
    内容为:
		<?xml version="1.0" encoding="UTF-8"?>
		<Context>
		<Resource 
			driverClassName="com.mysql.jdbc.Driver"
			url="jdbc:mysql://localhost:3306/flower"
			username="root"
			password="root"
			maxActive="50"
			maxIdle="20"
			name="test"
			auth="Container"
			maxWait="10000"
			type="javax.sql.DataSource"
		/>
		</Context> 
  • 5.2、把项目发布到tomcat中,数据库连接池产生了

6、可以在Java中使用jndi获取数据库连接池中对象

  • 6.1、Context:上下文接口,context.xml文件对象类型
  • 6.2、代码:
		Context cxt = new InitialContext();
		DataSource ds = (DataSource) cxt.lookup("url");
		Connection conn = ds.getConnection();
  • 6.3、当关闭连接对象时,把连接对象归还给数据库连接池,把状态改变成idle
2、三种查询方式
  • 2.1、selectList()返回值为List<resultType 属性控制>

    • 2.1.1 适用于查询结果需要遍历的需求

        List<User> list = session.selectList("方法id");
        for (Userr user : list) {
        	System.out.println(user.toString());
        }
      
  • 2.2、selectOne()返回值object

    • 2.2.1、适用于返回结果只是变量活一行数据时

        int count = session.selectOne("a.b.selById");
        System.out.println(count);
      
  • 2.3、selectMap()返回值Map

    • 2.3.1、适用于需要在查询结果中通过某列的值取到这行数据的需求

    • 2.3.2、Map<key,resultType控制>

       Map<Object, Object> map = session.selectMap("a.b.c", "name");
       System.out.println(map);
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值