Java_MyBatis
Posted 小企鹅推雪球!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_MyBatis相关的知识,希望对你有一定的参考价值。
Java_MyBatis简介
- MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架
- MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索,大大减少了代码的复杂性
- MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录=’
- MyBatis应用程序主要都是使用SqlSessionFactory实例的
- SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得
- SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
- MyBatis 最强大的特性之一就是它的动态语句功能
- MyBatis确实能通过在任何映射SQL语句中
Java_Mybatis接口注解
- 创建一个接口:
IUser
,并在其中声明对应的操作方法 - 在 src 源码目录下创建一个包:com.mybatis.dao,并建立接口类 IUser 及一个方法, 在方法上面,我们使用了一个SQL注释,内容如下:
public interface IUser {
@Select("select * from user where id= #{id}")
public User getUserByID(int id);
}
- 方法名 getUserByID 必须与 User.xml 里面配置的 select 的 id 对应()同名,虽使用注解映射不需要
User.xml
Mybits创建对应映射接口SQL语句
- 配置 MyBatis 所需的数据连接文件,这里创建一个文件:
src/config/Configure.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.models.User" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/testdb" />
<property name="username" value="sa" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/mybatis/models/User.xml" />-->
</mappers>
</configuration>
在包:com.mybatis.models 下创建一个User.java 类文件
package com.mybatis.models;
public class User {
private int id;
private String name;
private String dept;
private String phone;
private String website;
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
与 User.java 对应的 XML 配置文件:User.xml 可以少省略,不用创建
测试接口映射
- 在 src 这个目录下创建一个类:Main.java,用来测试整个配置和程序运行结果
public class Main {
private static SqlSessionFactory sqlSessionFactory;
private static Reader reader;
static {
try {
reader = Resources.getResourceAsReader("config/Configure.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
sqlSessionFactory.getConfiguration().addMapper(IUser.class);
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getSession() {
return sqlSessionFactory;
}
public static void main(String[] args) {
SqlSession session = sqlSessionFactory.openSession();
try {
IUser iuser = session.getMapper(IUser.class);
User user = iuser.getUserByID(1);
System.out.println("姓名:"+user.getName());
System.out.println("班级:"+user.getDept());
} finally {
session.close();
}
}
}
以上是关于Java_MyBatis的主要内容,如果未能解决你的问题,请参考以下文章