1.MyBatis新手入门--工作篇

      MyBatis是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为Mybatis,实质上 MyBatis对ibatis进行了一些改进。

特点:

  • 通过直接编写SQL语句,可以直接对SQL进行性能的优化;
  • 学习门槛低,学习成本低,只要有SQL基础,就可以学习MyBatis,而且很容易上手
  • 由于直接编写SQL语句。所以灵活多变,代码维护性更好
  • 不能支持数据库无关性,即数据库发送变更,要写多套代码进行支持,移植性不好
  • 需要编写结果映射

开发步骤

1、创建PoJo实体类

2、创建全局配置文件SqlMapConfig.xml

3、编写映射文件

4、加载映射文件,在SqlMapConfig.xml中进行加载

5、编写测试程序,即编写Java代码,连接并操作数据库。

 

第一步 实体类

  

第二步:全局配置文件SqlMapConfig.xml (注意 上面的第四步 已经在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>
<!-- 配置mybatis的环境信息 -->
<environments default="development">
	<environment id="development">
		<!-- 配置JDBC事务控制,由mybatis进行管理 -->
		<transactionManager type="JDBC"></transactionManager>
		<!-- 配置数据源,采用dbcp连接池 --> 
		<dataSource type="POOLED">  
			<property name="driver" value="com.mysql.jdbc.Driver"/> 
			<property name="url" value="jdbc:mysql://localhost:3306/ssm?characterEncoding=utf8"/>
			<property name="username" value="root"/>
			<property name="password" value="123456"/>
		</dataSource>
	</environment>
</environments>

<!--告诉MyBatis加载映射文件  -->
 <mappers>
     <mapper resource="com/lq/mapper/UserMapper.xml"></mapper>
 </mappers>

</configuration>

第三步:编写映射文件

[id] : statement的id,要求在命名空间内唯一

[parameterType] : 入参的Java类型

[resultType]:查询出的单条结果集对应的Java类型

namespace:命名空间,它的作用就是对SQL进行分类化管理,可以理解为SQL隔离

     注意了 注意了!!!  除了使用#{id}占位符以外 还有一个${}用法

两者的区别:${}相当于SQL语句拼接      #{}相当于占位符  可以防止SQL注入

${}会引起SQL注入,一般情况下不推荐使用。但是有些场景必须使用${},比如order by ${colname}

<?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.lq.pojo.User">
   <select id="findUserBuid" parameterType="int" resultType="com.lq.pojo.User">
      SELECT * FROM users where id=#{id}
   </select>

</mapper>

第四步:测试

package com.lq.test;

import java.io.IOException;
import java.io.InputStream;

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 com.lq.pojo.User;

/**
 * 1.读取配置文件
 * 2.通过SqlSessionFactoryBuidlder创建SqlSessionFactory会话工厂
 * 3.通过SqlSessionFactory创建SqlSession
 * 4.调用SqlSession的操作数据库方法
 * 	关闭SqlSession
 */
public class MainTest {
	public static void main(String[] args) throws IOException {
		 //1.读取配置文件
		InputStream iStream=Resources.getResourceAsStream("SqlMapConfig.xml");
		//2.通过SqlSessionFactoryBuidlder创建SqlSessionFactory会话工厂
		SqlSessionFactory build = new SqlSessionFactoryBuilder().build(iStream);
		// 3.通过SqlSessionFactory创建SqlSession
		SqlSession openSession = build.openSession();
		//4.调用SqlSession的操作数据库方法
		User user = openSession.selectOne("findUserBuid",1);
		System.out.println(user.toString());
		openSession.commit();
	}
}

     最后说明,这只是一个小入门的MyBatis 我们可以很直观看到 它比之前的JDBC简单太多 ,但是底层还是JDBC的哈,还有 编写入门时候  可能你会抛很多异常,你要认真检查 很多小地方的错误 例如XML里面有个namespace 路径一定要填对,openSession.selectOne("findUserBuid",1); 里面这个findUserBuid一定要和XML标签取的id一致

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
[INFO] Scanning for projects... [ERROR] [ERROR] Some problems were encountered while processing the POMs: [ERROR] 'dependencies.dependency.version' for org.mybatis.spring.boot:mybatis-spring-boot-starter:jar is missing. @ line 73, column 21 [ERROR] 'dependencies.dependency.version' for org.mybatis.spring.boot:mybatis-spring-boot-starter:jar is missing. @ line 85, column 21 [ERROR] 'dependencies.dependency.version' for org.mybatis.spring.boot:mybatis-spring-boot-starter:jar is missing. @ line 82, column 21 @ [ERROR] The build could not read 3 projects -> [Help 1] [ERROR] [ERROR] The project org.pw:user-service:1.0-SNAPSHOT (C:\workspace\tools\idea\myproject\mysb\user-service\pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.mybatis.spring.boot:mybatis-spring-boot-starter:jar is missing. @ line 73, column 21 [ERROR] [ERROR] The project org.pw:order-service:1.0-SNAPSHOT (C:\workspace\tools\idea\myproject\mysb\order-service\pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.mybatis.spring.boot:mybatis-spring-boot-starter:jar is missing. @ line 85, column 21 [ERROR] [ERROR] The project org.pw:login-service:1.0-SNAPSHOT (C:\workspace\tools\idea\myproject\mysb\login-service\pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.mybatis.spring.boot:mybatis-spring-boot-starter:jar is missing. @ line 82, column 21 [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:.
06-01
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值