Mybatis整體架構
環境;
jdk1.8
myeclipse2015
mysql5.0
1.新建Java project
2.導入mybatis的jar包、lib第三方jar包以及jdbc驅動jar包(使用maven的話無需這麼麻煩,只寫配置文件導入就好)
複製jar包--粘貼進項目--選中jar包--右鍵build path--add to build path
3.src右鍵 -- new -- file 取名mybatis.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>
<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/myblog?useUnicode=true&characterEncoding=UTF8" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/StudentMapper.xml" />
</mappers>
</configuration>
4.demo01.java文件測試
package demo;
import java.io.IOException;
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;
import entity.Student;
public class Demo01 {
public static void main(String[] args) {
try {
//從配置文件中構建SqlSessionFactory工廠對象
InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//獲取sqlsession對象
SqlSession session=sqlSessionFactory.openSession();
try {
//通過SqlSession對象進行數據庫各種操作:selectOne(),selectList(),update()...
Student stu=session.selectOne("mapper.StudentMapper.selectStudentById",0);
if(stu==null){
System.out.println("沒有找到!");
}else{
System.out.println(stu);
}
} finally {
session.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
5.StudentMapper.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必須唯一 -->
<mapper namespace="mapper.StudentMapper">
<resultMap type="entity.Student" id="baseResultMap">
<id column="SID" property="sid" jdbcType="INTEGER"/>
<result column="SNAME" property="sname" jdbcType="VARCHAR"/>
<result column="SAGE" property="sage" jdbcType="INTEGER"/>
</resultMap>
<!-- 根據id查詢 -->
<select id="selectStudentById" parameterType="int" resultMap="baseResultMap">
<!-- 如果實體類屬性名與表中字段一致則寫* -->
select * from student where sid = #{sid}
</select>
</mapper>
6.POJO類只有三個屬性 sid 、sname、sage