MyBatis搭建项目

工具包:

Netbeans8

Maven

MyBatis

项目源码:https://github.com/sun2shadow/simpleMybatis

  1. 使用netbeans创建项目,选择文件->新建项目->Maven->Web应用程序;

  2. 打开项目目录,在依赖关系上右击->添加依赖关系->查询框输入mysql->选择mysql:mysql-connector-java->点开选择对应的mysql驱动版本.

  3. 创建数据库和表

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的框架就搭建完毕了.

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/192786.html

(0)
上一篇 2021年11月15日
下一篇 2021年11月15日

相关推荐

发表回复

登录后才能评论