Java持久层框架MyBatis简单实例_java

什么是Mybatis

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

2011年6月iBatis 更名为 MyBatis,从 iBatis 到 MyBatis,不只是名称上的变化,MyBatis 提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于 JDK 的泛型和注解特性进行了简化。所以你懂的,开始学习就从MyBatis吧。

例子使用MyBatis+MySQL实现一个用户表的查询,如下:

1、数据库

在MySQL中,test数据库下,简历user表,字段:id,name,password,建表语句略。

2、需导入的包

只有两个: mybatis-3.0.3.jar mysql-connector-java-5.1.16-bin.jar(JDBC包)

3、目录结构

采用最简单的结构,com.mybatis包下有且仅有四个文件:configuration.xml、user.xml、User.java、Test.java 。

4、mybatis配置文件configuration.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>
<typeAliases>
<typeAlias alias="User" type="com.mybatis.User"></typeAlias>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="user.xml"/>
</mappers>
</configuration>

5、User表sql文件User.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">
<mapper namespace="User">
<select id="selectUser" parameterType="int" resultType="User">
SELECT * FROM user WHERE id = #{id}
</select>
<select id="selectUsers" resultType="User">
SELECT * FROM user
</select>
</mapper>

6、表结构文件User.java

package com.mybatis;
public class User {
private int id;
private String name;
private String password;
public User(){}
public User(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [id=" + this.id + ", name=" + this.name + ", password=" + this.password + "]";
}
}

7、测试用例Test.java

package com.mybatis;
import java.io.IOException;
import java.io.Reader;
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 Test {
public static void main(String[] args) throws IOException {
String resource = "configuration.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = ssf.openSession();
try{
User user = session.selectOne("selectUser", "1");
System.out.println(user.getName());
System.out.println(user);
System.out.println("--------------分隔线---------------");
List<User> users = session.selectList("selectUsers");
for(int i=0; i<users.size(); i++) {
System.out.println(users.get(i).getName());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
}
}

以上所述是小编给大家介绍的Java持久层框架MyBatis简单实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java持久层框架
mybatis简单实例
mybatis简单实例、mybatis持久层、ssh框架简单实例、持久层框架、java持久层框架,以便于您获取更多的相关知识。

时间: 2024-12-02 21:18:24

Java持久层框架MyBatis简单实例_java的相关文章

java持久层框架mybatis防止sql注入的方法_java

sql注入大家都不陌生,是一种常见的攻击方式,攻击者在界面的表单信息或url上输入一些奇怪的sql片段,例如"or '1'='1'"这样的语句,有可能入侵参数校验不足的应用程序.所以在我们的应用中需要做一些工作,来防备这样的攻击方式.在一些安全性很高的应用中,比如银行软件,经常使用将sql语句全部替换为存储过程这样的方式,来防止sql注入,这当然是一种很安全的方式,但我们平时开发中,可能不需要这种死板的方式. mybatis框架作为一款半自动化的持久层框架,其sql语句都要我们自己来手

Java 反射调用静态方法的简单实例_java

以往都是使用反射调用实例方法,那么反射如何调用静态方法呢?看下面的例子 Class<?> threadClazz = Class.forName("java.lang.Math"); Method method = threadClazz.getMethod("abs", long.class); System.out.println(method.invoke(null, -10000l)); 只需要将invoke方法的第一个参数设为null即可! 以

JAVA格式化时间日期的简单实例_java

复制代码 代码如下: import java.util.Date;import java.text.DateFormat; /*** 格式化时间类* DateFormat.FULL = 0* DateFormat.DEFAULT = 2* DateFormat.LONG = 1* DateFormat.MEDIUM = 2* DateFormat.SHORT = 3* @author    Michael * @version   1.0, 2007/03/09*/ public class T

MyBatis持久层框架的用法知识小结_java

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google c

MyBatis持久层框架使用总结

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis . 2013年11月迁移到Github,MyBatis的Github地址:https://github.com/mybatis/mybatis-3.      iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBAT

Java web的读取Excel简单实例代码_java

目录结构: Data.xls数据:   后台页面: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //System.out.println(this.getServletContext().getRealPath ("/")); try{ Workbook wb = Workbook.getWorkboo

Kodo EJB:符合EJB3规范的持久层框架

规范 Kodo是BEA公司收购SolarMetric公司后获得的持久层框架项目,以前只是支持JDO标准,2006年2月13日,BEA公司宣布发布Kodo项目的最新版本--Kodo 4.0.0 Early Access 4,Kodo 4.0.0 EA4支持EJB3和JDO2两个标准,本文中,我们将首先学习和了解KODO EJB,了解如何使用Kodo EJB完成开发工作. 我们将按照两种不同的情况讲述如何使用Kodo EJB进行开发,一种是通过命令行工具,另外一种是在Eclipse中使用Ant任务.

关于持久层能不能出现多个持久层框架,比如ibatis,jdbc

问题描述 关于持久层能不能出现多个持久层框架,比如ibatis,jdbc 开发有时候会用到多数据库建立数据库连接池的情况,就是想问下,会不会也同样有多个操作数据库的框架共同或者切换使用 解决方案 可以出现.我见过mybatis和hibernate一起使用的,mybatis做一些复杂sql,hibernate做一些简单的对象增删改 解决方案二: 我没遇到过多个持久层框架同时使用的 解决方案三: 我觉得如果有,就要有多个配置,到时候该怎么切换呢 解决方案四: 是可以,不过这样做太麻烦了,也浪费空间.

Hibernate 5.0.14 发布,数据持久层框架

Hibernate 5.0.14 发布了. Hibernate 是一种 Java 语言下的对象关系映射解决方案. 它是使用 GNU 宽通用公共许可证发行的自由.开源的软件.它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架.Hibernate 也是目前 Java 开发中最为流行的数据库持久层框架,现已归 JBOSS 所有. 更新内容请参考提交记录. 下载地址 Source code (zip) Source code (tar.gz) 文章转载自 开源中国社区[https