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 { //读配置文件 //第一个: 使用类加载器,只能 ...
随机推荐
- Web前端学习笔记之JavaScript、jQuery、AJAX、JSON的区别
官网的英文解释: javascript和jQuery有点关系,js是一种脚本语言,主要用于客户端,现在主要用于实现一些网页效果. jquery是js的一个库,你可以认为是对js的补充,提供了很多方便易 ...
- go channel 阻塞
初接触 go 有不对得请解释下 Channel是goroutine之间进行通信的一种方式,先看下面代码为什么会阻塞: func closer(ch chan int) { ch <- 1 log ...
- 20145327 《Java程序设计》第九周学习总结
20145327 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无需接触底层 ...
- 广播机制的CS模型实现
广播机制的cs模型实现如下: 首先可以使用ifconfig命令查看自己所在网段的广播地址 server.c #include<stdio.h> #include<unistd.h&g ...
- C#设计模式之控制反转即依赖注入-微软提供的Unity
使用VS2015的Nuget管理器下载Unity. 程序员接口类: 1 namespace UnityDemo 2 { 3 public interface IProgrammer 4 { 5 voi ...
- spark SQL学习(案例-统计每日销售)
需求:统计每日销售额 package wujiadong_sparkSQL import org.apache.spark.sql.types._ import org.apache.spark.sq ...
- JAVA 单向链表
package com.session.link; /** * 单向链表 */public class LinkedList<T> { private Node head;//指向链表头节 ...
- 动态规划入门-01背包问题 - poj3624
2017-08-12 18:50:13 writer:pprp 对于最基础的动态规划01背包问题,都花了我好长时间去理解: poj3624是一个最基本的01背包问题: 题意:给你N个物品,给你一个容量 ...
- redmine修改附件储存路径
如果想把redmine 1.x.x 版本中的attachments files 放在自定义的目录(例如/home/darkofday/redmineAttachFile/).执行下列命令:cd /ho ...
- response.getWriter().write("中文");乱码问题
起初遇到这个问题,网上几乎所有的建议都是: response.setHeader("Content-type", "text/html;charset=UTF-8&quo ...