[一步是咫尺,一步即天涯]
上文中,我们已经演示了MySQL的安装配置,以及图形化管理工具的安装配置。本文,我们正式开始介绍当下流行Mybatis的使用方法,关于Mybatis的介绍,请进入传送门:Mybatis百度百科。下面开始我们的干货部分吧!
惯例,先来看看我们的准备工作有:
a.操作系统 :win7 x64
b.基本软件:MySQL,Mybatis,Spring,SQLyog,Tomcat,web基础
--------------------------------------------------------------------------------------------------------------------------------------------------------
1.使用上文我们提供给大家的管理工具,快速创建一个我们使用到的Mybatis数据库。命名为db_mybatis。
2.在第一步的基础之上,创建一张user表,具体内容如下图:
3.使用Maven创建第一个mybatis工程:mybatis01,工程结构图如下:
4.修改pom文件,具体内容如下:
4.0.0
com.csdn,ingo
mybatis01
0.0.1-SNAPSHOT
jar
mybatis01
http://maven.apache.org
UTF-8
junit
junit
4.12
test
org.mybatis
mybatis
3.3.1
mysql
mysql-connector-java
5.1.26
5.创建数据库连接文件:jdbc.properties,具体内容如下:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=1234
6.创建mybatis-config.xml,具体内容如下:
【配置内容解释如下:
】
其他配置项为通用配置,这里不再赘述。
7.创建SqlSessionFactoryUtil文件,用来连接数据库。具体内容如下:
package com.csdn.ingo.util;
import java.io.InputStream;
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 SqlSessionFactoryUtil {
private static SqlSessionFactory sqlSessionFactory;
public static SqlSessionFactory getSqlSessionFactory(){
if(sqlSessionFactory==null){
InputStream inputStream=null;
try{
inputStream=Resources.getResourceAsStream("mybatis-config.xml");
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
}catch(Exception e){
e.printStackTrace();
}
}
return sqlSessionFactory;
}
public static SqlSession openSession(){
return getSqlSessionFactory().openSession();
}
}
8.创建User实体类,具体内容如下:
package com.csdn.ingo.entity;
import java.io.Serializable;
/**
*@author 作者 E-mail:ingo
*@version 创建时间:2016年4月17日下午6:25:27
*类说明
*/
@SuppressWarnings("serial")
public class User implements Serializable{
private String id;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User(String id, String password) {
super();
this.id = id;
this.password = password;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
}
9.创建UserDao文件,具体内容如下:
package com.csdn.ingo.dao;
import com.csdn.ingo.entity.User;
/**
*@author 作者 E-mail:ingo
*@version 创建时间:2016年4月17日下午6:26:40
*类说明
*/
public interface UserDao {
User findUserById(String id);
}
package com.csdn.ingo.main;
import org.apache.ibatis.session.SqlSession;
import com.csdn.ingo.dao.UserDao;
import com.csdn.ingo.entity.User;
import com.csdn.ingo.util.SqlSessionFactoryUtil;
public class main {
public static void main(String[] args) {
SqlSession sqlSession=SqlSessionFactoryUtil.openSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
String id = "admin";
User curUser = userDao.findUserById(id);
if(curUser!=null){
System.out.println("HelloWorld:"+curUser.getId());
}
}
}
namespace:必须与UserDao的全路径想匹配,这样才能使的接口与sql文件一一对应。
id:现在必须与接口中的方法名称一致。后续我们将介绍高级用法,是mapper文件更加规范化。届时将介绍id的另一种实现方式,敬请期待。
parameterType:传入参数类型,对于基本类型,可以使用Integer,String等封装类型直接使用。复杂类型,多参数还需要将数据封装成对象才能使用,具体用法见后文中的介绍。
resultType:结果返回值的类型,本例返回的结果是一个User对象,这个对象使用了我们前文介绍的别名。如果未使用别名配置,或者上下文中存在多个User实体类,最好使用全路径的方式进行配置,方式发生错误。
12.测试方法:运行main方法即可。观察控制台输出。
--------------------------------------------------------------------------------------------------------------------------------------------------------
至此,Mybatis最入门---HelloWorld结束
参考资料:
官方文档:http://www.mybatis.org/mybatis-3/