什么是MyBatis:
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架(O object R relatoin M mapping 框架),MyBatis 避免了几 乎所有的JDBC 代码和手动设置参数以及获取结果集,MyBatis可以对配置和原生Map使用简单的xml或注解,将接口和java的POJO(实体Bean或持久化类)映射成数据库中的记录。
持久层:
广义:针对于数据库的所有操作都称为持久化操作 C R U D
狭义:永久性的把数据保存到数据库中
1:先引入jar包 两个 一个mysql-connect.jar 一个mybytis.jar 并添加到工程项目中
2:创建mybatis-config.xml
3:创建UserMapper.xml(实体类的xml)
mybatis-config.xml代码如下
<?xml version="1.0" encoding="UTF-8"?>
<!-- mybatis的核心配置文件 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 核心文件做了什么事情? 1:配置连接数据的信息 2:加载映射文件 -->
<!-- 配置默认的环境信息 -->
<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://localhost:3006/数据库名字" />
<!-- 数据库的用户名 -->
<property name="username" value="root" />
<!-- 数据库的密码 -->
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/sunshine/framework/model/user/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 里的名字不能重复 尽量取相应dao的全路径 resultMap 返回类型是相应的实体类类型-->
<mapper namespace="com.sunshine.framework.dao.user.userDao ">
<select id="selectAllList" resultMap="com.sunshine.framework.model.user.User">
select * from student
</select>
</mapper>
User.java 实体类的代码如下
/**
*
* <p>
* 描述该类情况 {@link 代表跟谁有关系}
* </p>
*
* @author 王超
* @since 1.0
* @date 2016年10月18日 上午11:17:54
* @see 新建|修改|放弃
* @see com.sunshine.framework.model.user.User
*/
public class User {
private String account;
private String password;
public String getAccount() {
return this.account;
}
public String getPassword() {
return this.password;
}
public void setAccount(String account) {
this.account = account;
}
public void setPassword(String password) {
this.password = password;
}
}
userDao.java 的代码如下
package com.sunshine.framework.dao.user;
import java.util.List;
import com.sunshine.framework.model.user.User;
/**
*
* <p> 描述该类情况 {@link 代表跟谁有关系}</p>
* @author 王超
* @since 1.0
* @date 2016年10月18日 下午12:32:06
* @see 新建|修改|放弃
* @see com.sunshine.framework.dao.user.UserDao 这里面就是接口 Iservice 里的方法调用通过接口调用相应mapper.xml的sql语句
*/
public interface UserDao {
public List<User>userList();
}