SSM框架之MyBatis入门

1. MyBatis简介

        一款优秀的ORM框架,支持自定义SQL,存储过程以及高级映射。避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,它使用XML文件或注解进行配置和映射,将接口和java代码的POJO映射成数据库中的记录。

        核心思想是剥离出大量的sql语句,并将这些sql语句配置到映射文件中去。实现程序和sql语句分离,在不修改程序代码的情况下变更sql语句的功能,提升了程序的扩展性。

2. MyBatis的功能架构

MyBatis的功能架构由三层组成,包括API接口层,数据处理层,基础支撑层。
(此图来源于千锋教育)
此图来源于千锋教育

3. MyBatis的下载和使用

3.1由第三方组织提供,使用前需下载jar包

MyBatis jar包下载
解压下载完后的zip,将目录下的jar包和lib里面的jar复制到你web项目的lib中去。

3.2项目中的映射文件和配置文件

在src下新建一个mapper包,包里面建一个StudentMapper.xml映射文件内容如下
这里就是一个简单的查询,可以自己添加<update></update>,<insert></insert>,<delete></delete>等命令

<?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="student">  
	<select id="findStudentBySno" parameterType="String"
		resultType="com.mystu.pojo.Student">    
		select * from stu where sno = #{sno}  
	</select> 
</mapper>

在src下新建mybatis-config.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>  
	<environments default="SqlServer">    
		<environment id="SqlServer">   
   			<transactionManager type="JDBC"/>     
    		<dataSource type="POOLED">       
     		<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>  
       		<property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=test"/>   
        	<property name="username" value="root"/>      
         	<property name="password" value="root"/>   
       		</dataSource> 
         </environment> 
     </environments> 
     <mappers>   //这里的resource为映射文件的位置
       	<mapper resource="mapper/StudentMapper.xml"/> 
     </mappers> 
</configuration>
3.2项目中的其他文件

src下创建Student实体类测试文件
实体类就不多说了,就是一些变量,get(), set(), toString()方法等;
其中测试文件里的主要部分如下:

String resource = "mybatis-config.xml";
try {
			InputStream in = Resources.getResourceAsStream(resource);
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
			SqlSession sqlSession = factory.openSession();
			Student student = sqlSession.selectOne("student.findStudentBySno", sno);
			//sqlSession.conmit();  //执行update,delete,insert时需添上,提交事务
			System.out.println(student);
			sqlSession.close();
		} catch (IOException e) {
			e.printStackTrace();
		}catch (Exception e) {
			e.printStackTrace();
		}

至此,一个简单的MyBatis medo就做成了,实现了通过学号查询学生,在控制台显示的功能,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值