MyBatis框架

什么是框架?

在原生的编程API基础之上进行的进一步封装,开发人员使用起来更加方便,开发效率更高、隐藏底层复杂的过程,通常使用配置文件或注解的方式,让程序更加灵活。

框架的优点:

1.灵活可配置:将程序中写死的代码可以写到配置文件中

2.代码复用性高:将程序中反复要写死的代码进行抽取封装,提高代码的复用性

3.简化开发:框架将底层复杂的细节进行了封装,并提供了方便调用的API,使得开发人员将工作的重点转移到实际业务中,大大提高了项目的开发效率。

MyBatis简介:

MyBatis是apache的一个开源框架,是一个基于Java的持久层框架,支持普通的sql查询,存储过程和高级映射。持久层成框架包括SQL Maps(sql映射)和Data Access Object(DAO)。

持久化层:JDBC、DBUtils、Hibernate、MyBatis

MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的pojos(java对象)映射成数据库中的记录

DAO简介:数据库和实体类之间进行通讯的桥梁

Mybatis架构:

里面有一个核心配置文件SqlMapConfig.xml关联了很多的SqlMapper.xml映射配置文件,核心控制器Configuration配置文件的管理器(可以解析配置文件),配置文件完成将数据库的数据和实体类的属性进行映射

MyBatis优点:

1.将sql语句和代码剥离,代码修改sql语句不需要重新编译代码(避免了硬编码)

2.使用MyBatis自带的连接池,获得连接更加方便(且可以集成第三方连接池)

3.将查找数据库中的字段值自动设置到实体类的属性中(数据库字段名必须跟实体类中的属性名一致,若不一直则需要修改表字4段的别名)

4.因为MyBatis封装了一个查询接口SqlSession,使用SqlSession调用增删改查更方便

简单示例一:

MyBatis的核心jar包和依赖jar包添加到libs目录下,添加mysql的驱动连接

User实体类:

package marshalMyBatis01;

public class User {
	private Long user_id;
	
	private String user_name;
	
	private Long user_age;
	

	public Long getUser_id() {
		return user_id;
	}
	
	public void setUser_id(Long user_id) {
		this.user_id = user_id;
	}
	
	public String getUser_name() {
		return user_name;
	}
	
	public void setUser_name(String user_name) {
		this.user_name = user_name;
	}
	
	public Long getUser_age() {
		return user_age;
	}
	
	public void setUser_age(Long user_age) {
		this.user_age = user_age;
	}
	
}

HelloWorld类:

package marshalMyBatis01;

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

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class HelloWorld {

	public static void main(String[] args) {
		
		InputStream in = null;
		try {
			//获取主配置文件
			in = Resources.getResourceAsStream("SqlMapConfig.xml");
		//创建sqlSessionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
		//创建sqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();
		/*
		 * 调用selectList方法
		 * user.findAll对应UserMapper.xml配置文件中的namespace.id
		 */
		List<User> selectList = sqlSession.selectList("user.findAll");
		
		for (User user : selectList) {
			System.out.println(user);
		}
		sqlSession.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

sqlMapConfig.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="development">
		<environment id="development">
			<!-- 指定类型是JDBC,mybatis创建的数据源是类型为POOLED的连接池
			驱动连接,数据库名、密码 -->
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://localhost:3306/marshal?characterEncoding=utf-8" />
				<property name="username" value="root" />
				<property name="password" value="marshal" />
			</dataSource>
		</environment>
	</environments>
	<!-- 在核心配置文件中将映射配置文件组装起来 -->
	<mappers>
		<mapper resource="UserMapper.xml" />
	</mappers>
</configuration>

userMapper.xml映射配置文件:

<?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:命名空间,要唯一 -->
<mapper namespace="user">
	<!-- 将sql写入到配置文件中,将数据库的表字段和实体类的属性进行映射,resultType为实体类的全路径 -->
	<select id="findAll" resultType="marshalMyBatis01.User"> 
		select * from marshal_user
	</select>
</mapper>

实现怎删改功能和Junit Test测试:


Junit Test

Junit Test方法之前执行需加上@Before

用来测试的方法上面必须加上@Test

方法必须是public的,方法必须时void,方法不能传参数,可以抛异常不自己捕获异常


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人中心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值