IDEA搭建Mybatis

QQ圖片20190108150537.png

第一步)先用IDEA創(chuàng)建MAVEN項(xiàng)目捎琐,參考上圖步驟玻熙。


QQ圖片20190108151012.png

第二步)接著填寫grounpId 一般是公司機(jī)構(gòu)的簡寫串远,artifactid 指代項(xiàng)目名稱宏多,后續(xù)步驟默認(rèn)不改一路直點(diǎn)到FInish儿惫。
QQ圖片20190108151741.png

第三步)打開pom.xml文件,在依賴?yán)锩嫣砑?處依賴伸但,在這里你也可以查找下你本地的MAVEN庫里面版本是什么姥闪,然后填進(jìn)去,如果artifactid有紅字一般是這個庫沒導(dǎo)進(jìn)去
QQ圖片20190108152458.png

QQ圖片20190108152504.png

第四步)一般出來結(jié)構(gòu)圖如上砌烁,可能最新版本IDEA沒有resources筐喳,那么需要手動添加一個文件夾,再把它右鍵設(shè)置標(biāo)識為resources root.
第五步)新建一個實(shí)體類Person函喉。具體代碼如下(數(shù)據(jù)庫自己另行建一個對應(yīng)字段的表)

public class Person {
    private int id;
    private String userName ;
    private int age ;
    private String mobilePhone ;
    public  Person(){}
    public Person(int id,String userName, int age, String mobilePhone) {
        this.id = id;
        this.userName = userName;
        this.age = age;
        this.mobilePhone = mobilePhone;
    }

    public String getUserName() {
        return userName;
    }
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getMobilePhone() {
        return mobilePhone;
    }

    public void setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
    }

    @Override
    public String toString() {
        return "Person{" +
                "userName='" + userName + '\'' +
                ", age=" + age +
                ", mobilePhone='" + mobilePhone + '\'' +
                '}';
    }
}

第六步)有了實(shí)體和數(shù)據(jù)庫表以后當(dāng)然是用Mybatis關(guān)聯(lián)映射避归。我們新建2個配置文件到resources,一個是數(shù)據(jù)庫配置信息,另一個是Mybatis配置信息管呵。
我的數(shù)據(jù)庫配置mysql.properties參考如下:

driver:com.mysql.jdbc.Driver
url:jdbc:mysql://localhost:3306/nobody
username:root
password:123456

mybatis.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>
    <properties resource="mysql.properties"></properties>

    <typeAliases>
        <typeAlias type="com.luban.model.Person" alias="Person"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>


    <mappers>
        <mapper resource="mapper/Person.xml"/>
    </mappers>
    <!-- Continue going here -->

</configuration>

這個配置有個主意地方就是 <typeAliases>不要放到environments 的下面梳毙,不然會報莫名錯誤,原本我是想放到mappers 上面好看點(diǎn)但是發(fā)現(xiàn)報錯捐下,具體原因可能是讀取時候有順序账锹。
typeAlias 里面type是指代項(xiàng)目中的類的全名,alias是別名坷襟。
mapper是對應(yīng)的映射位置(就是相對于resources文件夾)奸柬。中間的數(shù)據(jù)庫配置用了占位符,讀取剛才數(shù)據(jù)庫配置文件婴程。

第七步)數(shù)據(jù)庫映射完畢后接著書寫數(shù)據(jù)庫操作腳本Person.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.luban">
    <insert id="insertPerson" parameterType="Person" >
        INSERT INTO PERSON(ID,USERNAME,AGE,MOBILEPHONE)VALUES (#{id},#{userName},#{age},#{mobilePhone})
    </insert>

    <select id="queryById" parameterType="int" resultType="Person">
        SELECT * FROM PERSON WHERE ID=#{id}
    </select>

    <update id="updatePerson">
        UPDATE PERSON SET USERNAME=#{userName},AGE=#{age},MOBILEPHONE=#{mobilePhone} WHERE ID=#{id}
    </update>
</mapper>

我的數(shù)據(jù)庫表如下


QQ圖片20190108155340.png

第八步)編寫一個測試方法廓奕,具體如下:

public class App
{
    public static void main( String[] args )
    {
        String resources="mybatis-config.xml";
        Reader reader=null;

        try {
            reader=Resources.getResourceAsReader(resources);
            SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
            SqlSession session=sqlMapper.openSession();
            Person user=session.selectOne("queryById",1);
            System.out.println(user.getUserName());
            session.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

最后是項(xiàng)目整體結(jié)構(gòu)圖:


QQ圖片20190108155617.png

啟動項(xiàng)目查看控制臺信息如下:


QQ圖片20190108155744.png

完畢!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末档叔,一起剝皮案震驚了整個濱河市桌粉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌衙四,老刑警劉巖铃肯,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異传蹈,居然都是意外死亡押逼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門卡睦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宴胧,“玉大人漱抓,你說我怎么就攤上這事表锻。” “怎么了乞娄?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵瞬逊,是天一觀的道長显歧。 經(jīng)常有香客問我,道長确镊,這世上最難降的妖魔是什么士骤? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮蕾域,結(jié)果婚禮上拷肌,老公的妹妹穿的比我還像新娘。我一直安慰自己旨巷,他們只是感情好巨缘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著采呐,像睡著了一般若锁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斧吐,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天又固,我揣著相機(jī)與錄音,去河邊找鬼煤率。 笑死仰冠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蝶糯。 我是一名探鬼主播沪停,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼裳涛!你這毒婦竟也來了木张?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤端三,失蹤者是張志新(化名)和其女友劉穎舷礼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體郊闯,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妻献,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片征唬。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡温技,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出熬丧,到底是詐尸還是另有隱情,我是刑警寧澤怀挠,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布析蝴,位于F島的核電站害捕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏闷畸。R本人自食惡果不足惜尝盼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望佑菩。 院中可真熱鬧盾沫,春花似錦、人聲如沸殿漠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凸舵。三九已至祖娘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間啊奄,已是汗流浹背渐苏。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留菇夸,地道東北人琼富。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像庄新,于是被迫代替她去往敵國和親鞠眉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容