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());
}
}
测试执行结果:
文件结构如下