国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

MyBatis我來了

2019-11-06 08:04:44
字體:
來源:轉載
供稿:網友

項目流程:

1、從eclipse中jdbc.PRoperties中復制過來數據庫的連接屬性。

2、創建項目mybatis-hong

3、在WEB-INF中的lib中載入jar包

4、先建立Student類

5、數據庫創建并建表

6、并對Student創建對應的StudentMapper.xml文件,將對象與數據庫中的字段匹配。

7、編寫mybatis.xml(連接數據庫的驅動帳號等)

8、編寫工具類MyBatisUtil.java

9、執行測試類StudentDao.java

10、再次刷新數據庫,可以看到數據已經被載入數據庫中。

 

詳細步驟及代碼:

實戰開始:

1、從eclipse中jdbc.properties中復制過來數據庫的連接屬性。

jdbc.url=jdbc/:MySQL/://192.168.100.251/:3306/wbj_bus?useUnicode/=true&characterEncoding/=UTF-8

jdbc.user=root

jdbc.passWord=wbj999888a

 

2、創建項目mybatis-hong

src——cn.itcast.javaee.mybatis——base——Student.java

src——cn.itcast.javaee.mybatis——base——StudentDao.java

src——cn.itcast.javaee.mybatis——base——StudentMapper.xml

src——cn.itcast.javaee.mybatis——base——Students.sql

 

src——cn.itcast.javaee.mybatis——util——MybatisUtil.java

另外就是:

src——mybatis.xml

 

3、在WEB-INF中的lib中載入jar包

asm-3.3.1.jar,c3p0-0.9.1.2.jar,cglib-2.2.2.jar,commons-logging-1.1.1.jar

log4j-1.2.16.jar,mybatis-3.1.1.jar,mysql-connector-java-5.1.20-bin.jar

ojdbc5.jar

并進行載入,build path

 

4、先建立Student類

package cn.itcast.javaee.mybatis.base;

/**

 * 學生

 * @author AdminTC

 */

public classStudent {

    private Integerid;

    private Stringname;

    private Doublesal;

    public Student(){}

    public Student(Integer id,String name, Double sal) {

        this.id = id;

        this.name = name;

        this.sal= sal;

    }

    public Integer getId() {

        returnid;

    }

    public void setId(Integer id) {

        this.id = id;

    }

    public String getName() {

        returnname;

    }

    public void setName(String name) {

        this.name = name;

    }

    public Double getSal() {

        returnsal;

    }

    public void setSal(Double sal) {

        this.sal = sal;

    }

}

 

5、數據庫創建并建表

--mysql

createtable students(

    sidint(5) primary key,

    snamevarchar(10),

    ssaldouble(8,2)

);

 

6、并對Student創建對應的StudentMapper.xml文件,將對象與數據庫中的字段匹配。

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEmapper PUBLIC "-//mybatis.org//DTDMapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mappernamespace="studentNamespace">

    <resultMaptype="cn.itcast.javaee.mybatis.base.Student"id="studentMap">

        <idproperty="id"column="sid"/>

        <resultproperty="name"column="sname"/>

        <resultproperty="sal"column="ssal"/>

    </resultMap>       

    <insertid="add"parameterType="cn.itcast.javaee.mybatis.base.Student">

        insertinto students(sid,sname,ssal) values(#{id},#{name},#{sal})

    </insert>

</mapper>

 

7、編寫mybatis.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEconfiguration PUBLIC"-//mybatis.org//DTDConfig 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

 

<configuration>

   

    <environmentsdefault="mysql_developer">

   

        <environmentid="mysql_developer">

       

            <transactionManagertype="jdbc"/>  

   

            <dataSourcetype="pooled">

               

                <propertyname="driver"value="com.mysql.jdbc.Driver"/>

                <propertyname="url"value="jdbc:mysql://192.168.100.251:3306/test1?useUnicode=true&amp;characterEncoding=UTF-8"/>

                <propertyname="username"value="root"/>

                <propertyname="password"value="wbj999888a"/>

           

            </dataSource>

           

        </environment>

   

    </environments>

 

    <mappers>

        <mapperresource="cn/itcast/javaee/mybatis/base/StudentMapper.xml"/>

    </mappers>

   

 

</configuration>

 

8、編寫工具類MyBatisUtil.java

package cn.itcast.javaee.mybatis.util;

import java.io.IOException;

import java.io.Reader;

import java.sql.Connection;

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 AdminTC

 */

public classMybatisUtil {

    private staticThreadLocal<SqlSession> threadLocal =newThreadLocal<SqlSession>();

    private static SqlSessionFactory sqlSessionFactory;

    /**

     * 加載位于src/mybatis.xml配置文件

     */

    static{

        try {

            Readerreader = Resources.getResourceAsReader("mybatis.xml");

            sqlSessionFactory=newSqlSessionFactoryBuilder().build(reader);

        }catch(IOException e) {

            e.printStackTrace();

            throw new RuntimeException(e);

        }

    }

    /**

     * 禁止外界通過new方法創建

     */

    private MybatisUtil(){}

    /**

     * 獲取SqlSession

     */

    public static SqlSessiongetSqlSession(){

        //從當前線程中獲取SqlSession對象

        SqlSessionsqlSession = threadLocal.get();

        //如果SqlSession對象為空

        if(sqlSession ==null){

            //在SqlSessionFactory非空的情況下,獲取SqlSession對象

            sqlSession= sqlSessionFactory.openSession();

            //將SqlSession對象與當前線程綁定在一起

            threadLocal.set(sqlSession);

        }

        //返回SqlSession對象

        return sqlSession;

    }

    /**

     * 關閉SqlSession與當前線程分開

     */

    public static void closeSqlSession(){

        //從當前線程中獲取SqlSession對象

        SqlSessionsqlSession = threadLocal.get();

        //如果SqlSession對象非空

        if(sqlSession !=null){

            //關閉SqlSession對象

            sqlSession.close();

            //分開當前線程與SqlSession對象的關系,目的是讓GC盡早回收

            threadLocal.remove();

        }

    }

 

    /**

     * 測試

     */

    public static void main(String[] args) {

        Connectionconn = MybatisUtil.getSqlSession().getConnection();

        System.out.println(conn!=null?"連接成功":"連接失敗");

    }

}

 

9、執行測試類StudentDao.java

package cn.itcast.javaee.mybatis.base;

 

import org.apache.ibatis.session.SqlSession;

 

importcn.itcast.javaee.mybatis.util.MybatisUtil;

 

/**

 * 持久層

 * @authorAdminTC

 */

public class StudentDao {

    /**

     * 增加學生

     */

    publicvoid add(Student student) throws Exception{

        SqlSessionsqlSession = null;

        try{

            sqlSession= MybatisUtil.getSqlSession();

            sqlSession.insert("studentNamespace.add",student);

            sqlSession.commit();

        }catch(Exceptione){

            e.printStackTrace();

            sqlSession.rollback();

            throwe;

        }finally{

            MybatisUtil.closeSqlSession();

        }

    }

 

    /**

     * 測試

     */

    publicstatic void main(String[] args) throws Exception{

        StudentDaodao = new StudentDao();

        dao.add(newStudent(3,"中中中",3600D));

    }

}

 

10、再次刷新數據庫,可以看到數據已經被載入數據庫中。

    注意id字段不能重復,否則會報錯。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南溪县| 保山市| 普安县| 五台县| 庆安县| 拜城县| 泸定县| 青州市| 南宁市| 大田县| 阳西县| 云阳县| 呼图壁县| 盐边县| 临沧市| 瑞丽市| 永兴县| 宜丰县| 进贤县| 临汾市| 土默特左旗| 琼结县| 永登县| 灵丘县| 崇左市| 红桥区| 曲阜市| 长宁县| 兴仁县| 山西省| 乐安县| 镇赉县| 东乡县| 汉沽区| 祁东县| 萝北县| 梅州市| 通道| 台安县| 河源市| 会昌县|