mybatis入門文檔:http://www.mybatis.org/mybatis-3/zh/getting-started.html
剛開始看mybatis,雖然很基礎,但是可能不太看得哈,從下面的栗子開始,結合mybatis入門文檔,會很快實現一個數據查詢操作
mybatis 通過xml實現方式如下:
1. 安裝mysql,創建一個商場表
2. 配置mybatis.xml
3. 創建商場表的映射對象,mapper接口
4. 配置mapper.xml
5. 測試是否成功
步驟一 安裝mysql,創建一個商場表
1. mysql安裝,參考http://www.runoob.com/mysql/mysql-install.html
2. 數據庫連接工具Navicat Premuim安裝,連接本地數據庫
3. 創建商場表,執行sql
CREATE TABLE `m` (
`mno` int(11) NOT NULL AUTO_INCREMENT COMMENT '商場編號',
`mname` varchar(20) NOT NULL COMMENT '商場名稱',
`mcity` varchar(50) NOT NULL COMMENT '所在城市',
`gmt_create` datetime NOT NULL COMMENT '記錄創建時間',
`gmt_modified` datetime NOT NULL COMMENT '記錄修改時間',
PRIMARY KEY (`mno`)
) ENGINE=InnoDB AUTO_INCREMENT=5403 DEFAULT CHARSET=latin1;
4. 插入數據
步驟二 配置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>
<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:3308/test?serverTimezone=GMT%2B8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mybatis/local-mapper.xml"/>
</mappers>
</configuration>
步驟三 創建商場表的映射對象,mapper接口
1. 創建一個maven工程,使用工具intelij idea
2. 通過pom.xml 導入mybatis、jdbc connect的jar包,可以百度mvn resposity 查找dependency(依賴)
3. 創建商場表的映射對象(持久化對象)
商場表的映射對象
package com.alipay.Do;
public class m {
private int mno;
private String mname;
private String mcity;
public int getMno() {
return mno;
}
public void setMno(int mno) {
this.mno = mno;
}
public String getMname() {
return mname;
}
public void setMname(String mname) {
this.mname = mname;
}
public String getMcity() {
return mcity;
}
public void setMcity(String mcity) {
this.mcity = mcity;
}
}
mapper 接口
package com.alipay.mapper;
import com.alipay.Do.m;
import java.util.List;
public interface localMapper {
/**
9 * 新增商場
10 * @param user
11 * @return
12 * @throws Exception
13 */
public int insertM(m mc) throws Exception;
/**
16 * 修改商場
17 * @param user
18 * @param id
19 * @return
20 * @throws Exception
21 */
public int updateM (m mc,int mno) throws Exception;
/**
24 * 刪除商場
25 * @param id
26 * @return
27 * @throws Exception
28 */
public int deleteM(int mno) throws Exception;
/**
31 * 根據id查詢商場信息
32 * @param id
33 * @return
34 * @throws Exception
35 */
public m selectMById(int mno) throws Exception;
/**
38 * 查詢所有的商場信息
39 * @return
40 * @throws Exception
41 */
public List<m> selectAllM() throws Exception;
}
步驟四 配置mapper.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.alipay.mapper.localMapper">
<resultMap id="localMap" type="com.alipay.Do.m">
<id property="mno" column="mno" javaType="java.lang.Integer"></id>
<result property="mname" column="mname" javaType="java.lang.String"></result>
<result property="mcity" column="mcity" javaType="java.lang.String"></result>
</resultMap>
<select id="selectMById" parameterType="int" resultMap="localMap">
select * from m where mno = '1'
</select>
</mapper>
步驟五 測試
public class sqlSessionOp {
public SqlSessionFactory BuildSqlSessionFactory() throws Exception {
SqlSession sqlSession = null;
String resource = "mybatis/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
return sqlSessionFactory;
}
public SqlSession getSqlSession() throws Exception {
SqlSessionFactory sqlSessionFactory = this.BuildSqlSessionFactory();
return sqlSessionFactory.openSession();
}
@Test
public void selectDataById() throws Exception {
SqlSession sqlSession = this.getSqlSession();
localMapper mapper = sqlSession.getMapper(localMapper.class);
m n = mapper.selectMById(1);
System.out.println("第一家商場名稱爲:"+n.getMname());
}
}
測試執行結果:
文件結構如下