MyBatis的基本用法
MyBatis
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
jar包和配置
1.jar包必须包含mybatis(我用的mybatis-3.4.6.jar)还有数据库链接jar包(我用的mysql-connector-java-5.1.27.jar)。
2.创建全局配置文件(随便取名:mybatis-config.xml),该文件的作用是用来对mybatis进行整体设置,并且配置连接数据库的数据源(DateSoure)。
<?xml version="1.0" encoding="UTF-8"?>
<!-- 这里的config表示这个配置文件是mybatis的整体配置文件 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置数据库的参数从哪里读取 -->
<properties resource="db.properties"/>
<!-- 设置数据类型别名 -->
<typeAliases>
<typeAlias type="com.xj.dao.User" alias="user"/>
</typeAliases>
<!-- 数据库连接环境配置 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 连接映射配置 -->
<mappers>
<mapper resource="com/xj/dao/IUserdao.xml"/>
</mappers>
</configuration>
3.创建映射配置文件(取名IUserdao),并且在全局配置文件中连接此映射文件。
<?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="com.xj.dao.IUserDao">
<!-- id必须和接口声明的方法一致 -->
<select id="query" resultType="user">
select * from t_user
</select>
<insert id="add" parameterType="user">
insert into t_user(no,name,age) values(#{no},#{name},#{age})
</insert>
<update id="update" parameterType="user">
update t_user set name=#{name},age=#{age} where no = #{no}
</update>
<delete id="delete" parameterType="int">
delete from t_user where no = #{no}
</delete>
</mapper>
4.创建数据配置文件(db.properties),并且在全局配置文件(mybatis-config.xml)引用。
#数据库配置
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
username=root
password=619238
测试
@Test
public void test() throws Exception {
//1.通过resources对象加载全局配置文件
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//2.通过加载后配置文件获取sqlsessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3.通过sqlsessionFactory获取sqlsession对象,true表示开启事务自动提交,默认是false。
SqlSession session = factory.openSession(true);
User user = new User();
//4.session中的方法全是映射配置文件中namespace配置好的
List<User> list = session.selectList("xj.query", user);
System.out.println("查询:"+list);
int insert = session.insert("xj.add", new User(1009, "赵四", 39));
System.out.println("插入:"+insert);
int update = session.update("xj.update", new User(1009, "王五", 29));
System.out.println("修改:"+update);
int delete = session.delete("xj.delete",1005);
System.out.println("删除:"+delete);
//5.关闭数据链接
session.close();
}
测试结果:
MyBatis的基本用法的更多相关文章
- [mybatis]Example的用法-转
转自:https://blog.csdn.net/zhemeban/article/details/71901759 Example类是什么? Example类指定如何构建一个动态的where子句. ...
- [mybatis]Example的用法
Example类是什么? Example类指定如何构建一个动态的where子句. 表中的每个non-BLOB列可以被包括在where子句中. 例子是展示此类用法的最好方式. Example类可以用来生 ...
- 关于mybatis的一些用法
resultMap 的用法 <resultMap id="唯一标识" type="映射的pojo类"> <id column = " ...
- MyBatis OGNL表达式用法
From<MyBatis从入门到精通> <!-- 4.7 OGNL用法 MyBatis常用的OGNL表达式: e1 or e2: e1 and e2 e1 == e2; e1 != ...
- [mybatis]Example的用法 标签: mybatis 2017-05-21 21:46 651人阅读 评论(11)
Example类是什么? Example类指定如何构建一个动态的where子句. 表中的每个non-BLOB列可以被包括在where子句中. 例子是展示此类用法的最好方式. Example类可以用来生 ...
- [已解决] MyBatis 中bind用法
JAVA: TC_ENTR_FLOW selectFlowForUpdate(String ENTR_ID); XML: <select id="selectFlowForUpdate ...
- Java深入 - MyBatis的经常用法
MyBatis我们这篇文章主要记录一些经常使用的操作方法.这样在开发和使用的过程中这篇文章能够当做工具书来使用. MyBatis的数据源配置 <bean id="dataSource& ...
- mybatis配置文件namespace用法总结
本文为博主原创,未经允许不得转载: 由于在应用过程中,发现namespace在配置文件中的重要性,以及配置的影响,在网上看了很多博客,发现很多人对namespace存在误解, 所以总结一下namesp ...
- Mybatis标签bind用法
Mybatis使用bind元素进行模糊查询,不用在乎数据库是mysql还是oracle从而提高可移植性 使用bind元素传递多个参数 public List<Student> findSt ...
- mybatis之foreach用法
在做mybatis的mapper.xml文件的时候,我们时常用到这样的情况:动态生成sql语句的查询条件,这个时候我们就可以用mybatis的foreach了 foreach元素的属性主要有item, ...
随机推荐
- bzoj 4241 历史研究——分块(区间加权众数)
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4241 套路:可以大力预处理,如果求区间加权众数,可以预处理i~j块(或 j 位置)的最大值, ...
- H5C3--属性选择器、兄弟选择器、伪类选择器
属性选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- Linq To SQL和Linq To Object的批量操作InsertAllOnSubmit介绍
无论是Linq To SQL还是Linq To Object(Entity frameworks)它们都为开发人员提供了Insert操作,及Insert集合操作,即InsertOnSubmit和Ins ...
- php+js实现百度地图多点标注的方法
本文实例讲述了php+js实现百度地图多点标注的方法.分享给大家供大家参考,具体如下: 1.php创建json数据 ? 1 2 $products = $this->product_db-> ...
- Prime Ring Problem HDU - 1016 (dfs)
Prime Ring Problem HDU - 1016 A ring is compose of n circles as shown in diagram. Put natural number ...
- 将html保存为图片(电脑端)
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...
- MySQL语句错误及解决方案
1.group by查询错误 ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contai ...
- 使用Workstation虚拟机部署Linux操作系统
一.安装虚拟机: 1.安装VMware Workstation; 2.选择主页.点创建新的虚拟机: 3.选择“典型”然后点下一步: 4.选择稍后安装操作系统: 5.客户机从左系统选择“Linux”版本 ...
- 阿里云Global Connection亮相MWC 2019,做企业全球化开路先锋
上周在巴塞罗那举行的MWC 2019世界移动通信大会上,阿里云发布了包含Global Connection解决方案在内的7款重量级产品和解决方案,为全球企业提供了基于阿里云的智能化企业数字转型思路.G ...
- roc.m
function [tpr,fpr,thresholds] = roc(targets,outputs) %ROC Receiver operating characteristic. % % The ...