一 .準備一個空的Maven項目。 二. 配置pom文件,引入相關依賴。 <!--版本建議換成提示的更安全的版本--> <!-- mybatis插件 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifa ...
一 .準備一個空的Maven項目。
二. 配置pom文件,引入相關依賴。
<!--版本建議換成提示的更安全的版本--> <!-- mybatis插件 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <!--mysql相關依賴 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> <!--單元測試依賴 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.1</version> <scope>test</scope> </dependency> <!--lombok插件--> <!--寫實體類時方便生成相關的get/set/構造器等方法--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.18</version> </dependency> </dependencies>
三. mybatis配置文件編寫。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!--空著,待會兒補充 --> </settings> <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/資料庫名字"/> <property name="username" value="用戶名"/> <property name="password" value="密碼"/> </dataSource> </environment> </environments> <mappers>
<!--空著,待會兒補充 -->
</mappers>
</configuration>
四.這裡按照實體類-Mapper-Mapper.xml的順序寫,並非固定的。
1.寫一個實體類
1 @Data 2 public class Owner { 3 private Integer id;//業主id 4 private String OwnerName;//業主姓名 5 private String OwnerSex;//業主性別 6 private String OwnerTel;//業主電話 7 }
2.編寫OwnerMapper介面
1 public interface OwnerMapper { 2 //寫一個作為例子 3 //添加一個業主 4 void addAOwner(Owner Owner); 5 }
3.編寫OwnerMapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace寫你剛剛編寫的mapper介面,類似於之前的實現這個介面--> <mapper namespace="com.wsl.wuye.mapper.OwnerMapper"> <!-- 對應介面里的方法名字,添加namespace後可以點擊介面里的提示自動在這裡面創建,類似於自動生成實現介面方法--> <insert id="addAOwner"> insert into owner(owner_name,owner_sex,owner_tel) values (#{ownerName},#{ownerSex},#{ownerTel}) </insert> </mapper>
五.將xml文件添加進mybatis的配置文件
<!-- 現在你可以在剛剛空著的部分添加以下配置--> <settings> <!-- 解決實體類的屬性跟資料庫欄位名的映射問題,下劃線會幫你對映駝峰命名--> <setting name="mapUnderscoreToCamelCase" value="true"/> <!-- 內置日誌,配置可以查看你的sql語句,你也可以使用其他的日誌框架--> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> <mappers> <!-- 剛剛你編寫xml文件的路徑 寫了框架才能幫你找到--> <mapper resource="mappers/OwnerMapper.xml"/> </mappers>
六.編寫測試類,測試一下上面的方法
1 public class OwnerMapperTest { 2 private SqlSession sqlSession; 3 private OwnerMapper mapper; 4 5 @Before //表示在測試方法執行前執行 6 public void init() { 7 //1.獲取配置文件mybatis-config.xml的流對象 8 InputStream stream; 9 try {
//註意別導錯包了,是apache下那個 10 stream = Resources.getResourceAsStream("mybatis-config.xml"); 11 } catch (IOException e) { 12 throw new RuntimeException(e); 13 } 14 15 //2. 獲取一個SqlSessionFactory對象 16 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(stream); 17 18 //3.通過工廠類SqlSessionFactory生成SqlSession對象 19 sqlSession = sqlSessionFactory.openSession(); 20 21 //4.獲取OwnerMapper的代理 22 mapper = sqlSession.getMapper(OwnerMapper.class); 23 } 24 @After //測試方法後執行 25 public void commit() { 26 //6.提交事務 27 sqlSession.commit(); 28 } 29 @Test 30 public void testAddAOwner() { 31 //5.測試添加一個業主對象的方法 32 Owner m = new Owner(); 33 m.setId(50); 34 m.setOwnerName("齊虎"); 35 m.setOwnerSex("男"); 36 m.setOwnerTel("15665457345"); 37 mapper.addAOwner(m); 38 } 39 }
總結:這裡已經算是成功完成了一個插入操作,想進行其他的操作只需在mapper介面里添加方法,再在對應的xml文件里寫sql語句就行了。註意的是有的時候你不止一個實體類,這時候你編寫新的mapper介面和新的xml文件後一定不要忘記在mybatis的配置文件還要配置一下(上面第五點)。下麵看下項目的一般結構。