环境搭建

第一步:导入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环境搭建和开发步骤的更多相关文章

  1. React Native的环境搭建以及开发的IDE

    (一)前言 前面的课程我们已经对React Native的环境搭建以及开发的IDE做了相关的讲解,今天我们的主要讲解的是应用设备运行(Running)以及调试方法(Debugging).本节的前提条件 ...

  2. MyBatis -01- 初识 MyBatis + MyBatis 环境搭建

    MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...

  3. MyBatis之MyBatis环境搭建

    MyBatis之MyBatis环境搭建 一.MyBatis开发环境搭建 1.引入Jar包 ①MyBatis mybatis-3.4.1.jar ant-1.9.6.jar ant-launcher-1 ...

  4. MyBatis 环境搭建(四)

    MyBatis 引言 在回顾JDBC时,我们已经创建有 Java 工程,而且也已经导入 mysql 依赖包,这里就直接在原有工程上搭建MyBatis环境,以及使用MyBatis来实现之前用 JDBC ...

  5. Python环境搭建和开发工具的配置

    本文转自http://237451446.blog.51cto.com/2307663/766781 因为要学习python了,第一步当然是环境搭建和开发工具的配置了,下边开始了. 我的开发环境是在w ...

  6.  paip.android环境搭建与开发事例

    paip.android环境搭建与开发事例 好长时间没有玩AndROID了..以前常常做ANDROID的,今天决定在下载一个要做个时间设置器 作者Attilax ,  EMAIL:1466519819 ...

  7. springmvc+mybatis环境搭建

    1.spring+mybatis 环境搭建: A.配置jdbc和dbcp数据源:注意版本com.mysql.cj.jdbc.Driver B.配置sessionfactory,绑定dbcp及配置map ...

  8. python环境搭建和开发工具的配置【转】

    因为要学习python了,第一步当然是环境搭建和开发工具的配置了,下边开始了. 我的开发环境是在window下. 一.环境搭建 先在python官网python.org下载安装文件,python2.x ...

  9. Mybatis环境搭建中的案例分析 及 如果自己编写DAO接口的实现类

    Mybatis环境搭建中的案例分析public static void main (String[] args) throws Exception { //读配置文件 //第一个: 使用类加载器,只能 ...

随机推荐

  1. kali 2.0下搭建DVWA环境

    DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...

  2. spring boot加mybatis使用Map返回时,当值为空时属性也会没有(转)

    使用spring boot加mybatis时,设置Map返回,当值为空时属性也会没有,就会报错 在application.properties中加入下面配置,将会解决这个问题.   #当查询数据为空时 ...

  3. 异步:asyncio和aiohttp的一些应用(1)

    1. asyncio 1.1asyncio/await 用法 async/await 是 python3.5中新加入的特性, 将异步从原来的yield 写法中解放出来,变得更加直观. 在3.5之前,如 ...

  4. LeetCode——Nth Digit

    Question Find the nth digit of the infinite integer sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... ...

  5. detectron——test 错误集锦

    一.测试错误,运行如下代码 python2 tools/test_net.py --cfg experiments/e2e_faster_rcnn_resnet--FPN_pascal2007.yam ...

  6. Win10 initluictrl failed问题

    问题描述 启动win10之后,所有的软件.快捷方式无法访问,双击之后没有响应但联网正常. 解决方法 win键+S弹出选项框,选择cmd(管理员). 键入命令:netsh winsock reset c ...

  7. GridView绑定数据源 绑定DataReader /DataSet /DataTable

    有一个GridView1 <asp:GridView ID="GridView1" runat="server"></asp:GridView ...

  8. JavaScript高级程序设计-读书笔记(5)

    第13章 事件 1.事件流 事件流描述的是从页面中接收事件的顺序.IE的事件流是事件冒泡流,而Netscape Communicator的事件流是事件捕获流. (1)事件冒泡,即事件开始时由最具体的元 ...

  9. Mac 升级node与npm

    第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安装 n 工具,这个工具是专门用来管理node ...

  10. ZeroMq实现跨线程通信

    ZeroMq实现跨线程通信 之前在技术崇拜的技术经理指导下阅读了ZeroMq的基础代码,现在就将阅读的心得与成果记录一下,并重新模仿实现了一下经理的异步队列. 1.对外接口 //主要接口(1)void ...