Mybatis初入門
mybatis的配置xml,實體類,dao。
configuration.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> <typeAliases> <!--給實體類起一個別名 blog --> <typeAlias type="com.demo.po.Blog" alias="blog" /> </typeAliases> <!--數據源配置 這塊用 mysql數據庫 --> <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://localhost:3306/jfinal_demo" /> <property name="username" value="root" /> <property name="password" value="123" /> </dataSource> </environment> </environments> <mappers> <!--blogMapper.xml裝載進來 同等于把“dao”的實現裝載進來 --> <mapper resource="com/demo/mybatis/blogMapper.xml" /> </mappers> </configuration>
dao (xxxxMapper.java)
// dao層 方法名要和xxxMapper.xml的select id對應起來
package com.demo.dao;
import com.demo.po.Blog;
public interface BlogMapper {
public Blog find(String id);
}
xxxxMapper.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">
<!--這塊等于dao接口的實現 namespace必須和接口的類路徑一樣-->
<mapper namespace="com.demo.dao.BlogMapper">
<!-- findById必須和接口中的方法名一樣 返回一個Blog 就是剛才的別名 如果不弄別名要連類路徑一起寫 麻煩-->
<select id="find" parameterType="HashMap" resultType="Blog">
select
* from blog where id=#{id}
</select>
</mapper>
實體類
package com.demo.po;
public class Blog {
// 數據庫字段
private int id;
private String title;
private String content;
// 添加get set方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
Test(測試類)
package com.demo.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 com.demo.dao.BlogMapper;
import com.demo.po.Blog;
public class Test {
/**
* 獲得MyBatis SqlSessionFactory
* SqlSessionFactory負責創建SqlSession,一旦創建成功,就可以用SqlSession實例來執行映射語句,commit,rollback,close等方法。
* @return
*/
private static SqlSessionFactory getSessionFactory() {
SqlSessionFactory sessionFactory = null;
// 這塊跟你的mybatis配置路徑,最好寫全,我就報過錯
String resource = "com/demo/configuration.xml";
try {
sessionFactory = new SqlSessionFactoryBuilder().build(Resources
.getResourceAsReader(resource));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sessionFactory;
}
public static void main(String[] args) {
SqlSession sqlSession = getSessionFactory().openSession();
BlogMapper blogMapper = sqlSession.getMapper(BlogMapper.class);
Blog blog = blogMapper.find("2");
System.out.println(blog.getTitle());
}
}
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!