mybatis环境搭建和开发步骤
环境搭建
第一步:导入jar包
第二步:导入核心配置文件(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>
<settings>
<!-- 表示使用log4j来处理日志 -->
<setting name="logImpl" value="LOG4J"/>
</settings> <!-- 环境变量 连接数据库的信息 -->
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="url" value="jdbc:mysql://127.0.0.1:3306/smbms?zeroDateTimeBehavior=convertToNull"/>
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="username" value="root"/>
<property name="password" value="199808025"/>
</dataSource>
</environment>
</environments> <!-- 注册Mapper(映射)文件 -->
<mappers>
<mapper resource="com/smbms/dao/UserMapper.xml"/>
<mapper resource="com/smbms/dao/ProviderMapper.xml"/>
<mapper resource="com/smbms/dao/AddressMapper.xml"/>
<mapper resource="com/smbms/dao/BillMapper.xml"/>
<mapper resource="com/smbms/dao/RoleMapper.xml"/>
</mappers> </configuration>
mybatis-config.xml
开发步骤
第一步:表
第二步:pojo(实体类)
package com.smbms.entity; import java.util.Date; public class User {
private int id;
private String userCode;
private String userName;
private String userPassword;
private int gender;
private Date birthday;
private String phone;
private String address;
private int userRole;
private int createdBy;
private Date creationDate;
private int modifyBy;
private Date modifyDate;
public User() { } public User(int id, String userCode, String userName, String userPassword, int gender, Date birthday, String phone,
String address, int userRole, int createdBy, Date creationDate, int modifyBy, Date modifyDate) {
super();
this.id = id;
this.userCode = userCode;
this.userName = userName;
this.userPassword = userPassword;
this.gender = gender;
this.birthday = birthday;
this.phone = phone;
this.address = address;
this.userRole = userRole;
this.createdBy = createdBy;
this.creationDate = creationDate;
this.modifyBy = modifyBy;
this.modifyDate = modifyDate;
} public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getUserRole() {
return userRole;
}
public void setUserRole(int userRole) {
this.userRole = userRole;
}
public int getCreatedBy() {
return createdBy;
}
public void setCreatedBy(int createdBy) {
this.createdBy = createdBy;
}
public int getModifyBy() {
return modifyBy;
}
public void setModifyBy(int modifyBy) {
this.modifyBy = modifyBy;
} public Date getCreationDate() {
return creationDate;
} public void setCreationDate(Date creationDate) {
this.creationDate = creationDate;
} public Date getModifyDate() {
return modifyDate;
} public void setModifyDate(Date modifyDate) {
this.modifyDate = modifyDate;
}
}
实体类
第三步:接口
package com.smbms.dao; import java.util.List; import com.smbms.entity.User; public interface UserMapper {
//查询总共有多少记录
public int count();
//查询所有
public List<User> findAll();
}
接口
第四步:映射文件xxxMapper.xml(dao层)
<?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.smbms.dao.UserMapper">
<!-- 记录总条数 -->
<select id="count" resultType="int">
select count(1) from smbms_user;
</select>
<!-- 查询所有 -->
<select id="findAll" resultType="com.smbms.entity.User">
select * from smbms_user;
</select>
</mapper>
UserMapper.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"> <!-- 注册Mapper(映射)文件 -->
<mappers>
<mapper resource="com/smbms/dao/UserMapper.xml"/>
<mapper resource="com/smbms/dao/ProviderMapper.xml"/>
<mapper resource="com/smbms/dao/AddressMapper.xml"/>
<mapper resource="com/smbms/dao/BillMapper.xml"/>
<mapper resource="com/smbms/dao/RoleMapper.xml"/>
</mappers> </configuration>
映射文件
第六步:测试
package com.smbms.dao; import java.util.List; import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.Test; import com.smbms.entity.User;
import com.smbms.util.MybatisUtil; public class TestUserMapper { private Logger log=Logger.getLogger(TestUserMapper.class); @Test
public void count(){
//SQL--->connection--->SqlSession
//--->SqlSSessionfactory // InputStream is;
// SqlSession sqlSession=null;
// try {
// is=Resources.getResourceAsStream("mybatis-config.xml");
// //获取sqlsession工厂
// SqlSessionFactory ssf=new SqlSessionFactoryBuilder().build(is);
// //获取SQLSession==connection
// sqlSession=ssf.openSession();
//
// //执行的sql
// int count=sqlSession.selectOne("com.smbms.dao.UserMapper.count");
// log.debug(count);
// } catch (IOException e) {
// e.printStackTrace();
// }finally {
// if(sqlSession!=null){
// sqlSession.close();
// }
// }
//执行SQLSession
SqlSession sqlSession=MybatisUtil.getSqlSession();
//执行的sql
// int count=sqlSession.selectOne("com.smbms.dao.UserMapper.count");
UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
int count=userMapper.count();
log.debug(count);
//关闭连接
MybatisUtil.close(sqlSession);
} @Test
public void findAll(){
SqlSession sqlSession=MybatisUtil.getSqlSession();
UserMapper um=sqlSession.getMapper(UserMapper.class);
List<User> users=um.findAll();
for(User user:users){
log.debug(user.getUserName());
}
}
}
测试
运行效果图:
mybatis环境搭建和开发步骤的更多相关文章
- React Native的环境搭建以及开发的IDE
(一)前言 前面的课程我们已经对React Native的环境搭建以及开发的IDE做了相关的讲解,今天我们的主要讲解的是应用设备运行(Running)以及调试方法(Debugging).本节的前提条件 ...
- MyBatis -01- 初识 MyBatis + MyBatis 环境搭建
MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...
- MyBatis之MyBatis环境搭建
MyBatis之MyBatis环境搭建 一.MyBatis开发环境搭建 1.引入Jar包 ①MyBatis mybatis-3.4.1.jar ant-1.9.6.jar ant-launcher-1 ...
- MyBatis 环境搭建(四)
MyBatis 引言 在回顾JDBC时,我们已经创建有 Java 工程,而且也已经导入 mysql 依赖包,这里就直接在原有工程上搭建MyBatis环境,以及使用MyBatis来实现之前用 JDBC ...
- Python环境搭建和开发工具的配置
本文转自http://237451446.blog.51cto.com/2307663/766781 因为要学习python了,第一步当然是环境搭建和开发工具的配置了,下边开始了. 我的开发环境是在w ...
- paip.android环境搭建与开发事例
paip.android环境搭建与开发事例 好长时间没有玩AndROID了..以前常常做ANDROID的,今天决定在下载一个要做个时间设置器 作者Attilax , EMAIL:1466519819 ...
- springmvc+mybatis环境搭建
1.spring+mybatis 环境搭建: A.配置jdbc和dbcp数据源:注意版本com.mysql.cj.jdbc.Driver B.配置sessionfactory,绑定dbcp及配置map ...
- python环境搭建和开发工具的配置【转】
因为要学习python了,第一步当然是环境搭建和开发工具的配置了,下边开始了. 我的开发环境是在window下. 一.环境搭建 先在python官网python.org下载安装文件,python2.x ...
- Mybatis环境搭建中的案例分析 及 如果自己编写DAO接口的实现类
Mybatis环境搭建中的案例分析public static void main (String[] args) throws Exception { //读配置文件 //第一个: 使用类加载器,只能 ...
随机推荐
- python之yield
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:wadeson '''def foo(): print("-------------- ...
- 2017阿里C++研发工程师-校招-笔试模拟
题目描述: 猎人把一对兔子婴儿(一公一母称为一对)放到一个荒岛上,两年之后,它们生00下一对小兔,之后开始每年都会生下一对小兔.生下的小兔又会以同样的方式继续繁殖. 兔子的寿命都是x(x>=3) ...
- Hibernate抽取BaseDao
package com.cky.dao; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate. ...
- NuGet version
https://stackoverflow.com/questions/15964935/get-nuget-exe-version-from-command-line Typing nuget he ...
- Css(样式)
CSS三种样式 1.行内样式 ①将css样式与html,完全糅杂在一起,不符合w3c关于“内容与表现分离”的基本规范,不利于后期维护. ②优先级最高. 2.内部样式表 ...
- 虚拟机 Ubuntu18.04 tensorflow cpu 版本
虚拟机 Ubuntu18.04 tensorflow cpu 版本 虚拟机VMware 配置: 20G容量,可扩充 2G内存,可扩充 网络采用NAT模式 平台:win10下的Ubuntu18.04 出 ...
- poj 3461 - Oulipo 经典kmp算法问题
2017-08-13 19:31:47 writer:pprp 对kmp算法有了大概的了解以后,虽然还不够深入,但是已经可以写出来代码,(可以说是背会了) 所以这道题就作为一个模板,为大家使用吧. 题 ...
- C# ContentType: "application/json" 请求方式传json参数问题
处理Http请求时遇到的ContentType为application/json方式,记录下这种Post请求方式下如何传json参数: var request = (HttpWebRequest)We ...
- Android自定义view-CircleSeekbar
自定义view练手,效果图如下:实现功能 可设置圆环颜色和线宽及触摸后的颜色和线宽 可设置圆环内圈显示的文本内容及字体大小.颜色 可设置触摸点的图片 可设置触摸的有效范围 源码git ...
- angular之自定义 directive
1,指令的创建至少需要一个带有@Directive装饰器修饰的控制器类.@Directive装饰器指定了一个选择器名称,用于指出与此指令相关联的属性的名字. 2,创建一个highlight.direc ...