简单了解学习Mybatis(iBatis)

##简单了解学习Mybatis(iBatis)

  • Mybatis把传统的JDBC给做了封装
  • 使用Mybatis只需要会写SQL语句就好

Mybatis是持久层框架(操作Dao层)

  • Mybatis是这么给SQL语句中传递参数
  • Mybatis是怎么查询封装中的结果(条件)
    1、 要有连接数据库的四个基本信息 driver、 url、 username、 password
    2、 必须有执行的SQL语句
    3、 必须有结果集对应的实体对象(用于数据的封装)

Mybatis的入门
1、导入坐标
2、写核心配置文件 核心配置文件只能有一个
3、写映射配置文件 映射配置文件可以有很多个
4、写测试类
//例如:

//核心配置文件
<?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">

<environments default="developement">
	<environment id="developement">
		<transactionManager type="JDBC"></transactionManager>
		<dataSource type="POOLED">
			<property name="driver" value="${jdbc.driver}"/>
			<property name="url" value="${jdbc.url}"/>
			<property name="username" value="${jdbc.usrname}"/>
			<property name="password" value="${jdbc.password}"/>
		</dataSource>
	</environment>
</environments>			
//加载映射文件
<mappers>
	//加载xml格式的映射文件----找到映射配置的文件
	<mapper resource="com/itbaidu/mapper/UserMapper.xml"></mapper>
</mappers>
//映射配置文件
<?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= "userMapper">
//最后参数必须要写 有一个固定写法 
//如果有多个映射配置文件我们可以根据namespace进行区分
//查询操作
public void handsomeBoy() throws IOException{ 
	//获的核心配置文件
	InputStream resourceAsStream=Resources.getResourceAsStream("sqlMapConfig.xml");
	//获的session工厂对象
	SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(resourceAsStream);
	//获取session回话对象
	SqlSession sqlSession=sqlSessionFactory.openSession();
	//执行操作 
	List<User> userList=sqlSession.selectList("userMapper.findAll");
	sout(userList);
	//释放资源
	sqlSession.close();
}
	- build:
		 解析核心配置文件
		 获取连接数据库的信息
		 获取映射配置文件的地址
		 接着去解析映射配置的文件
		 能拿到SQL语句
		 能拿到要封装的对象
		 也是构建者模式
		 用来创建对象的(把多个小对象组合成一个大对象给你返回)
	- sqlSessionFactory:
		工厂模式
		用来创建对象(创建的过程比较复杂 它把这个过程给封装 给我们提供一个静态方法 直接返回这个对象)
//查询操作
<select id="findAll" resultType="com.itbaidu.domain.User">
	select * from mybatis
</select>
/*
	id:属性是用来标记一个Statement在同一个映射配置文件中 
	resultType:属性用来指定结果集封装的对象是谁
	select * from mybatis:返回的是List<User>
	如果SQL语句返回的是list集合  resultTpey只需要写list集合中存放的实体类型即可(不要写list)
	如果要把结果集封装到指定实体类中 必须保证实体类中的属性名和表中的字段名称一致
*/
//插入操作
<insert id="save" parameterType="com.itbaidu.User">
	insert into mybatis values(#{id},#{username},#{password})
</insert>
/*
	id:属性也是用来标记一个statement
	parameterType:属性用来传递参数 指明参数类型是什么
		注:在SQL语句中如果要对参数赋值要使用#{},#{}中的值必须是User实体中的属性名称,mybatis会自动MySQL的自动提交给改成手动提交,所以我们在执行增删改查的时候要手动提交事务。
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值