mybatis -- orm框架 支持定制化sql、存储过程
1.引入依赖到pom
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.0.5</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency>
2.mybatis应用的关键在于SqlSessionFactory,用于创建session(会话)。SqlSessionFactory通过SqlSessionFactoryBuilder 创建。
-- mybatis-config.xml构建SqlSessionFactory ,配置数据源
<?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 type="com.dao.UserDao" alias="UserDao"/> <typeAlias type="com.dto.User" alias="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/iMybatis?characterEncoding=GBK"/> <property name="username" value="root"/> <property name="password" value="123"/> </dataSource> </environment> </environments> <mappers> <mapper resource="UserDao.xml"/> </mappers> </configuration>
-- 读取配置(写在测试类中)
SqlSessionFactoryBuilder sqlSessionFactoryBuilder; SqlSessionFactory sqlSessionFactory; String resource = "mybatis-config.xml";(记得修改成自己的路径) Reader reader = Resources.getResourceAsReader(resource); sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); sqlSessionFactory = sqlSessionFactoryBuilder.build(reader);
2.创建dao及其映射文件
package com.dto;
/**
* Created by ltsd on 2017/2/28.
*/
public class User {
private Integer userid;
private String username;
private String password;
private String address;
private String createtime;
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
}package com.dao;
import com.dto.User;
public interface UserDao {
User queryUser(User user);
}<?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.dao.UserDao">
<select id="queryUser" resultType="User" parameterType="User">
select * from t_user where userid = #{userid}
</select>
</mapper>3.测试
--运行sql文件(添加一条记录)
package com;
import com.dao.UserDao;
import com.dto.User;
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 java.io.IOException;
import java.io.Reader;
/**
* Created by ltsd on 2017/2/28.
*/
public class Test {
public static void main(String[] args) throws IOException {
SqlSessionFactoryBuilder sqlSessionFactoryBuilder;
SqlSessionFactory sqlSessionFactory;
String resource = "mybatis-config.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
sqlSessionFactory = sqlSessionFactoryBuilder.build(reader);
SqlSession session = null;
try {
session = sqlSessionFactory.openSession();
UserDao userDao = session.getMapper(UserDao.class);
User user = new User();
user.setUserid(1);
User user1 = userDao.queryUser(user);
System.out.print(user1.getUsername());
session.commit(true);
} catch (Exception e) {
session.rollback(true);
} finally {
session.close();
}
}
}原文:http://cw666.blog.51cto.com/12488150/1902360