Mybatis配置數(shù)據(jù)庫連接

首先resources下的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.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/ssms?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="cn/zmxy/dao/UsersMapper.xml"/>
    </mappers>
</configuration>

pojo實現(xiàn)類層的Java類(對應(yīng)數(shù)據(jù)庫表),比如Users表

public class Users {
  private int id;
  private String name;
  private String pwd;

  public Users(){}

}

dao層的映射xml和Interface接口

UsersMapper.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">
<!--namespace 命名空間 保定一個對應(yīng)的dao/mapper接口-->
<mapper namespace="cn.zmxy.dao.UsersMapper">
 <select id="getUserList" resultType="cn.zmxy.pojo.Users">
  SELECT * FROM ssms.users
    </select>
 <select id="getUserById" resultType="cn.zmxy.pojo.Users" parameterType="int">
  SELECT * FROM ssms.users WHERE id = #{id}
  </select>
 <insert id="addUser" parameterType="cn.zmxy.pojo.Users">
  INSERT INTO ssms.users (id, name, pwd) VALUES (#{id}, #{name}, #{pwd})
    </insert>
 <update id="updateUser" parameterType="cn.zmxy.pojo.Users">
  UPDATE ssms.users SET name = #{name}, pwd = #{pwd} WHERE id = #{id}
  </update>
 <delete id="deleteUser" parameterType="int">
  DELETE FROM ssms.users WHERE id = #{id}
  </delete>
</mapper>

UsersMapper.java

package cn.zmxy.dao;
import cn.zmxy.pojo.Users;
import java.util.List;

public interface UsersMapper {

  // 查詢?nèi)坑脩?  public List<Users> getUserList();

  // 根據(jù)ID查詢用戶
  public Users getUserById(int id);

  // 添加用戶
  public int addUser(Users user);

  // 修改用戶
  public int updateUser(Users user);

  // 刪除用戶
  public int deleteUser(int id);
}

寫一個utils類,獲取SqlSession

MyBatisUtils.java

package cn.zmxy.utils;

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 java.io.IOException;
import java.io.InputStream;

public class MyBatisUtils {

  private static SqlSessionFactory sqlSessionFactory;

  static {
  try {
  String resource = "mybatis-config.xml";
  InputStream is = Resources.getResourceAsStream(resource);
  sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
 } catch (IOException e) {
  e.printStackTrace();
 } }
  public static SqlSession getSqlSession()
 {  return sqlSessionFactory.openSession();
 }}

最后就可以調(diào)用了,寫一個test類

UserMapperTest.java

package cn.zmxy.dao;
import cn.zmxy.pojo.Users;
import cn.zmxy.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;

public class UserDaoTest {
  @Test
  public void test()
 {  // 第一步,獲取SqlSession對象
  SqlSession sqlSession = MyBatisUtils.getSqlSession();
  // 第二步尝抖,執(zhí)行SQL
  UsersMapper usersMapper = sqlSession.getMapper(UsersMapper.class);
  List<Users> userList = usersMapper.getUserList();

  // 打印users
  for (Users users : userList) {
  System.out.println(users);
 }  // 關(guān)閉SqlSession
  sqlSession.close();
 }
  @Test
  public void getUserById()
 {  // 第一步警检,獲取SqlSession對象
  SqlSession sqlSession = MyBatisUtils.getSqlSession();
  UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);

  Users user = mapper.getUserById(1);
  System.out.println(user);
  // 關(guān)閉SqlSession
  sqlSession.close();
 }
  @Test
  public void addUser()
 {  // 第一步惑艇,獲取SqlSession對象
  SqlSession sqlSession = MyBatisUtils.getSqlSession();
  UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);

  int num = mapper.addUser(new Users(0, "露露", "1234"));
  System.out.println("受影響行數(shù):" + num);
  sqlSession.commit();
  // 關(guān)閉SqlSession
  sqlSession.close();
 }
  @Test
  public void updateUser()
 {  // 第一步膊爪,獲取SqlSession對象
  SqlSession sqlSession = MyBatisUtils.getSqlSession();
  UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);

  int num = mapper.updateUser(new Users(3, "露露", "1234"));
  System.out.println("受影響行數(shù):" + num);
  sqlSession.commit();
  // 關(guān)閉SqlSession
  sqlSession.close();
 }
  @Test
  public void deleteUser()
 {  // 第一步,獲取SqlSession對象
  SqlSession sqlSession = MyBatisUtils.getSqlSession();
  UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);

  int num = mapper.deleteUser(11);
  System.out.println("受影響行數(shù):" + num);
  sqlSession.commit();
  // 關(guān)閉SqlSession
  sqlSession.close();
 }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瘩缆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子佃蚜,更是在濱河造成了極大的恐慌庸娱,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谐算,死亡現(xiàn)場離奇詭異熟尉,居然都是意外死亡,警方通過查閱死者的電腦和手機洲脂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門斤儿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恐锦,你說我怎么就攤上這事往果。” “怎么了一铅?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵陕贮,是天一觀的道長。 經(jīng)常有香客問我潘飘,道長肮之,這世上最難降的妖魔是什么掉缺? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮戈擒,結(jié)果婚禮上眶明,老公的妹妹穿的比我還像新娘。我一直安慰自己峦甩,他們只是感情好赘来,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凯傲,像睡著了一般犬辰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冰单,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天幌缝,我揣著相機與錄音,去河邊找鬼诫欠。 笑死涵卵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的荒叼。 我是一名探鬼主播轿偎,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼被廓!你這毒婦竟也來了坏晦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嫁乘,失蹤者是張志新(化名)和其女友劉穎昆婿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜓斧,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡仓蛆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了挎春。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片看疙。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖直奋,靈堂內(nèi)的尸體忽然破棺而出狼荞,到底是詐尸還是另有隱情,我是刑警寧澤帮碰,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布相味,位于F島的核電站,受9級特大地震影響殉挽,放射性物質(zhì)發(fā)生泄漏丰涉。R本人自食惡果不足惜拓巧,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望一死。 院中可真熱鬧肛度,春花似錦、人聲如沸投慈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伪煤。三九已至加袋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抱既,已是汗流浹背职烧。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留防泵,地道東北人蚀之。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像捷泞,于是被迫代替她去往敵國和親足删。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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