工具包:
Netbeans8
Maven
MyBatis
项目源码:https://github.com/sun2shadow/simpleMybatis
使用netbeans创建项目,选择文件->新建项目->Maven->Web应用程序;
打开项目目录,在依赖关系上右击->添加依赖关系->查询框输入mysql->选择mysql:mysql-connector-java->点开选择对应的mysql驱动版本.
创建数据库和表
create database foretaste;
use foretaste
create table user_info(id int(11) not null primary key auto_increment,
nickname varchar(50) not null, phone_num char(11) not null,
created_time timestamp not null default current_timestamp,
last_update_time timestamp not null default current_timestamp);
4. 创建UserInfo的实体
package com.shadow.foretaste.entity;
import java.util.Date;
/**
*
* @author sunny
*/
public class UserInfo {
private int id;
private String nickname;
private String phoneNum;
private Date createdTime;
private Date lastUpdateTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getPhoneNum() {
return phoneNum;
}
public void setPhoneNum(String phoneNum) {
this.phoneNum = phoneNum;
}
public Date getCreatedTime() {
return createdTime;
}
public void setCreatedTime(Date createdTime) {
this.createdTime = createdTime;
}
public Date getLastUpdateTime() {
return lastUpdateTime;
}
public void setLastUpdateTime(Date lastUpdateTime) {
this.lastUpdateTime = lastUpdateTime;
}
@Override
public String toString() {
return "UserInfo[id=" + id;
}
}
5. 创建UserInfoDao,必须先创建一个Dao接口,用于mapper绑定时指明的namspace
package com.shadow.foretaste.dao;
import com.shadow.foretaste.entity.UserInfo;
/**
*
* @author sunny
*/
public interface UserInfoDao {
/**
* 根据Id查询用户信息
* @param id
* @return
*/
UserInfo getUserInfoById(int id);
}
6. 点开->项目的其他源->src/main/source,在默认包上右击,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>
<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:3306/foretaste?zeroDateTimeBehavior=convertToNull "/>
<property name="username" value="root"/>
<property name="password" value="mysql123"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserInfoMapper.xml" />
</mappers>
</configuration>
7. 在source文件下,新建mapper文件夹,并创建UserInfoMapper.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.shadow.foretaste.UserInfoDao">
<select id="getUserInfoById" parameterType="int" resultType="com.shadow.foretaste.entity.UserInfo">
select * from user_info where id = #{id}
</select>
</mapper>
8. 创建MyBatisUtils获取sqlSession
package com.shadow.foretaste.util;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
/**
*
* @author sunny
*/
public class MyBatisUtils {
private static SqlSessionFactory factory = null;
//初始化session工厂
public static void initFactory() throws Exception{
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
factory = new SqlSessionFactoryBuilder().build(inputStream);
}
/**
* 获取sqlSession会话
* @return
*/
public static SqlSession getSession(){
if(null == factory){
try {
initFactory();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return factory.openSession();
}
}
8. 创建测试方法验证配置
import com.shadow.foretaste.util.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import static org.junit.Assert.assertNotNull;
import org.junit.Test;
/**
*
* @author sunny
*/
public class TesMyBatis {
@Test
public void testMyBatis(){
SqlSession session = MyBatisUtils.getSession();
assertNotNull(session);
if(session != null){
session.close();
}
}
}
好了,到此myBatis的框架就搭建完毕了.
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。