Mybatis的介绍以及使用:http://www.mybatis.org/mybatis-3/zh/index.html
mybatis是一个半自动的ORM(Object Relational Mapping)框架,需要手动配置一些SQL语句或者注解,相对来说Mybatis留给程序员操作的空间灵活度更高,通常需要手动配置一些东西完成OR映射。当数据库表中的字段 和 POJO实体类不匹配时,这是就需要程序员手动完成字段的映射。
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="db.properties"/> <settings> <!-- 使用日志进行帮忙查看 --> <setting name="logImpl" value="STDOUT_LOGGING"<strong style="color:transparent">来源gaodai#ma#com搞@代~码$网</strong>/> </settings> <typeAliases> <!-- 取个别名 --> <typeAlias type="com.pojo.User" alias="user"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/dao/UserMapper.xml"/> </mappers> </configuration>
mybatisUtil加载工具类
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.InputStream; public class mybatisUtil { private static SqlSessionFactory sqlSessionFactory = null; static { try { String resource = "mybatis-config.xml"; InputStream in = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(in); } catch (IOException e) { e.printStackTrace(); } } public static SqlSession getSqlsession(){ return sqlSessionFactory.openSession(); } }
POJO实体类User,为了方便简单实用Lombok注解,减少一些代码。
package com.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data //各种get / set方法 Tostring... @AllArgsConstructor //全参构造 @NoArgsConstructor //无参构造 public class User { private int id; //对应数据库中的id private String username; //对应数据库中的name private String password; //对应数据库中的pwd }
接口方法与对应的xml配置文件
package com.dao; import com.pojo.User; import java.util.List; public interface UserMapper { List<User> getUserList(); }
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.dao.UserMapper"> <select id="getUserList" resultType="user"> select *from user; </select> </mapper>