您的位置:首页 > 其它

[知了堂学习笔记]_Mybatis入门

2017-11-23 17:51 447 查看
请关注“知了堂学习社区”,地址:http://www.zhiliaotang.com/portal.php

1.Mybatis概念:

Mybatis是一个ORM框架。

ORM:对象关系映射。用于实现面向对象中不同类型系统之间的数据进行转换,把表映射成实体类,把表中的字段映射为实体类的属性。

Mybatis支持普通sql查询,高级过程和高级映射。

Mybatis可以用简单的xml或者注解用于配置和原始的映射。

2.Mybatis中的环境配置:

a.导入MyBatis包:mybatis-3.2.8.jar

b.导入MYSQL驱动包:mysql-connector-java-5.1.24-bin.jar

c.创建表的实体类, 例如: MyUser(id, name, password)

d.编写MyBatis的核心配置文件:SqlMapConfig.xml

e.编写映射文件, 例如: MyUserMapper.xml

f.编写测试来完成数据库CRUD操作

mybatis中的核心文件的配置:

1.mybatis中jdbc.properties配置:

mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/music
mysql.username=root
mysql.password=9826


2.mybatis中config.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>
<properties resource="jdbc.properties"></properties>
<typeAliases>
<package name="com.mybatis.model"/>
</typeAliases>

<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/mybatis/mapper/MusicMapper.xml"/>
</mappers>

</configuration>


3.mybatis中创建数据库表:如图,为我已创建好的数据库表:



4.mybatis中创建实体类:

package com.mybatis.model;

public class Music {
private Integer user_id;
private String user_name;
private String user_mail;
private String user_gender;
private Integer user_pwd;
public Music(){

}

public Music(Integer user_id, String user_name, String user_mail,String user_gender, Integer user_pwd) {
this.user_id = user_id;
this.user_name = user_name;
this.user_mail = user_mail;
this.user_gender = user_gender;
this.user_pwd = user_pwd;
}

public Integer getUser_id() {
return user_id;
}
public void setUser_id(Integer 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 String getUser_mail() {
return user_mail;
}
public void setUser_mail(String user_mail) {
this.user_mail = user_mail;
}
public String getUser_gender() {
return user_gender;
}
public void setUser_gender(String user_gender) {
this.user_gender = user_gender;
}
public Integer getUser_pwd() {
return user_pwd;
}
public void setUser_pwd(Integer user_pwd) {
this.user_pwd = user_pwd;
}

}


5.mybatis中创建MusicMapper.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="com.mybatis.mapper.MusicMapper">
<resultMap type="Music" id="baseresultMap">
<id column="user_id" property="user_id"/>
<result column="user_name" property="user_name"/>
</resultMap>

<select id="getInfo02" resultMap="baseresultMap">
select * from users where user_id = #{user_id} and user_name = #{user_name}
</select>

<select id="getInfo" resultType="Music" parameterType="Music">
select * from users where user_id=8
</select>

</mapper>


接下来我们写个测试类来测试:

package com.mybatis.test;

import java.io.IOException;
import java.io.Reader;

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

import com.mybatis.model.Music;

public class MusicTest {
private static SqlSessionFactory sessionFactory;
private static Reader reader;

static{
try {
reader = Resources.getResourceAsReader("config.xml");

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
}
@Test
public void x01(){
SqlSession sqlSession = sessionFactory.openSession();
String sql = "com.mybatis.mapper.MusicMapper.getInfo";
Music music = sqlSession.selectOne(sql);
System.out.println(music.getUser_id()+" "+music.getUser_name()+" "+music.getUser_mail()+" "+music.getUser_gender()+" "+music.getUser_pwd());
sqlSession.close();
}
@Test
public void x02(){
SqlSession sqlSession = sessionFactory.openSession();
String sql = "com.mybatis.mapper.MusicMapper.getInfo02";
Music music = sqlSession.selectOne(sql, new Music(8,"喵了个咪", sql, sql, null));
System.out.println(music.getUser_id()+" "+music.getUser_name()+" "+music.getUser_mail()+" "+music.getUser_gender()+" "+music.getUser_pwd());
sqlSession.close();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis