Mybatis3框架的搭建(详细过程)
来源:互联网 发布:数据库中省略为什么 编辑:程序博客网 时间:2024/06/06 17:39
由于公司用的框架是 spring3+mybatis3 所以我想先一步步的学习这些框架
下面就开始搭建我们的mybatis把
第一步新建我们的java项目(测试用并非web项目)
1.导入JAR包
mybatis-3.2.2 --------------mybatis的主JAR包
log4j-1.2.17-------------------日志JAR包
sqljdbc4-2.0------------------连接sqlserver数据库JAR包(这里我们用的是sqlserver数据库 其他的数据库可以自行网上查找)
2.连接我们的数据库 (这里用DOS连接)
sqlcmd -U 用户名 -P 密码
然后 进入我们的数据库
use 数据库名称
go
//////////////////////////////////////////////
省略SQL语句 创建表 插入测试数据
////////////////////////////////////////////
3.新建我们的实体类 User.java
package com.mybatis.bean;
import java.io.Serializable;
public class User implements Serializable {
/**
* 用户实体类
*/
private static final long serialVersionUID = -7080023541843149565L;
private int id;
private String name;
private String code;
private String password;
private int status;
private String cdate;
private String udate;
private String ddate;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getCdate() {
return cdate;
}
public void setCdate(String cdate) {
this.cdate = cdate;
}
public String getUdate() {
return udate;
}
public void setUdate(String udate) {
this.udate = udate;
}
public String getDdate() {
return ddate;
}
public void setDdate(String ddate) {
this.ddate = ddate;
}
}
然后在建立我们的 mapper接口userMapper.java(操作数据库调用的方法)
package com.mybatis.mapper;
import java.util.List;
import com.mybatis.bean.User;
public interface UserMapper {
/**
* 查询所有用户
* @return
*/
public List<User> getUserAll();
/**
* 根据ID 查找用户
* @param id
* @return
*/
public User getUserById(int id);
}
下面建立我们的mapper接口的配置文件 userMapper.xml 主要是用来执行SQL语句的
<?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.mybatis.mapper.UserMapper">
<select id="getUserAll" resultType="User"><!--这里的方法名称要和接口里面的一致-->
SELECT t.id, t.name, t.code, t.password, t.status, convert(varchar, t.cdate, 20) as cdate, convert(varchar, t.udate, 20) as udate, convert(varchar, t.ddate, 20) as ddate
FROM t_user t
WHERE t.status=1
</select>
<select id="getUserById" parameterType="int" resultType="User">
select
t.id, t.name, t.code, t.password, t.status, convert(varchar, t.cdate, 20) as cdate, convert(varchar, t.udate, 20) as udate, convert(varchar, t.ddate, 20) as ddate
from
t_user t
where
t.status = 1
and
t.id = #{id}
</select>
</mapper>
这些标签的含义 就不一个个解释了最基本的很好理解的
然后开始我们的正题 配置mybatis的xml 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>
<typeAliases>
<!-- simple alias for full class name -->
<typeAlias alias="User" type="com.mybatis.bean.User"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1433;DataBaseName=crm"/>
<property name="username" value="sa"/>
<property name="password" value="system"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/mybatis/mapper/UserMapper.xml"/>
</mappers>
</configuration>
//标签都是一些常用的 很好理解
然后在配置我们的lg4j文件log4j.properties
log4j.rootLogger=ERROR,stdout,R
#--------------------stdout--------------------------------
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n
#--------------------R--------------------------------
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.Encoding=UTF-8
#log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#this log file will be stored in web server's /bin directory,modify to your path which want to store.
log4j.appender.R.File=d://spring.log
# Control the maximum log file size
log4j.appender.R.MaxFileSize=10MB
# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=10
#log4j.appender.R.datePattern='.'yyyy-MM-dd-HH-mm
#log4j.appender.R.datePattern='.'yyyy-MM-dd
log4j.appender.R.append=true
## Keep one backup file
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n
#[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
好啦 一切都准备好了 下面开始编写我们的测试类 MybatisTest.java
package test;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.mybatis.bean.User;
import com.mybatis.mapper.UserMapper;
public class MybatisTest {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
// 配置文件的路径
String res = "mybatis-config.xml" ;
//加载 配置文件
Reader reader=Resources.getResourceAsReader(res);
//创建SqlSessionFactory 取得SqlSession
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(reader);
//取得一个SqlSession(对Jdbc中connection的封装)
SqlSession session=factory.openSession();
//取得mybatis实现并实例化好的UserMapper接口实例
UserMapper umap=session.getMapper(UserMapper.class);
//执行数据库操作
User user=umap.getUserById(7);
List<User> list1=umap.getUserAll();
System.out.println("用户Id为"+7+"的用户信息:id:"+user.getId()+" name:"+user.getName()+"code:"+user.getCdate()+"password:"+user.getPassword());
System.out.println("----------------------------所有用户信息--------------------------");
System.out.println("---id--------name-------code----------password-------------------");
//关闭连接
for (User user1 : list1) {
System.out.println("---"+user1.getId()+"--------"+user1.getName()+"-------"+user1.getCdate()+"------"+user1.getPassword()+"-");
}
session.close();
}
}
运行测试类就可以显示我们想要的结果了 这样mybatis的框架也就搭好
- Mybatis3框架的搭建(详细过程)
- ssm框架搭建详细(spring4+struts2+mybatis3)
- ssh框架的搭建过程(详细)
- IDEA搭建SSMM框架(详细过程)
- 在eclipse中搭建struts2框架的详细过程
- 开源网络扫描框架IVRE的详细搭建过程
- 在eclipse中搭建struts2框架的详细过程
- SSM框架(Spring+SpringMVC+MyBatis)详细搭建过程
- MVC(mybatis3+spring+springMVC4)框架搭建(一)
- S2SH框架新手搭建详细过程
- JavaEE之MVC框架组合(SpringMVC+Spring4.0+Mybatis3.2)搭建过程详解
- 搭建SpringMVC4.3.2+MyBatis3.4.1框架
- Mybatis3+Spring4+SpringMVC4 框架整合环境搭建
- 搭建SpringMVC4.3.2+MyBatis3.4.1框架
- 非Maven的SpringMVC+Spring+Mybatis框架整合搭建详细过程
- SSM框架——详细整合教程(Spring 4.0.2+SpringMVC 4.0.2+MyBatis3.2.6)
- Hibernate 框架的详细搭建与简单使用(一)
- vue框架搭建的详细步骤之脚手架(一)
- rman清除过期归档日志
- 谈谈站桩
- 管道设备文件 命令后带&符号解释
- mysql explain(转)
- poj 1113wall (凸包)
- Mybatis3框架的搭建(详细过程)
- 【IOS网络通信】Mac&IOS Socket编程
- 使用shell脚本自动更新动态域名
- 使用 DBMS_PARALLEL_EXECUTE 更新大表
- 二叉树——建数字树,知先序、中序,输出后序
- java实现上传图片进行切割
- 每日一记:分数规划
- mysql显示SQL语句执行所消耗的时间
- 携程移动网站优化实践