mybatis新手快速入門以及一些錯誤匯總
一、使用maven加載依賴
加載瞭連接數據庫的依賴、mybatis的依賴以及lombok的依賴
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> </dependency>
二、建庫、建表
三、配置MyBatis的配置文件(conf.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/數據庫名字?/useUnicode=true&characterEncoding=utf8&useSSL=false" /> <property name="username" value="root" /> <property name="password" value="數據庫密碼" /> </dataSource> </environment> </environments> </configuration>
四、定義表所對應的實體類
@Data @NoArgsConstructor @AllArgsConstructor public class User { private Integer uid; private String uname; private String password; }
五、定義操作表的sql的映射文件xxxMapper.xml
見名知意,操作的user表,所以映射文件也命名為瞭userMapper.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"> <!--tuser是我自己定的名字--> <mapper namespace="tuser"> <!--id自己設置,等會調用方法名使用,resultType查詢結果類型--> <select id="getUserById" resultType="com.hongda.space.entity.User"> <!--sql語句,#{}是參數格式,註意字段要與實體類屬性一致--> select * from t_user where uid=#{uid} </select> <!--parameterType參數類型--> <insert id="insertUser" parameterType="com.hongda.space.entity.User"> insert into t_user(uname,password) values(#{uname},#{password}); </insert> </mapper>
六、在Mybatis配置文件中添加映射文件
將編寫好的userMapper.xml添加到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> <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/數據庫名字?/useUnicode=true&characterEncoding=utf8&useSSL=false" /> <property name="username" value="root" /> <property name="password" value="數據庫密碼" /> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/userMapper.xml"/> </mappers> </configuration>
七、編寫增刪改查代碼測試
import com.hongda.space.entity.User; 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.Reader; /** * @ClassName Test01 * @Description TODO * @Author whd * @Date 2021/3/19 14:45 */ public class Test01 { public static void main(String[] args) throws IOException { //1.讀取配置文件 Reader reader = Resources.getResourceAsReader("conf.xml"); //2.獲取sqlSessionFactory SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); //3.獲取sqlsession對象 執行sql SqlSession session = sessionFactory.openSession(); //4.執行sql User user = session.selectOne("tuser.getUserById", 1); System.out.println(user); int i = session.insert("tuser.insertUser",new User(null, "小劉", "4545")); System.out.println(i+"------------"); session.commit(); } }
結果:
一些錯誤
編寫中可能碰到的錯誤
1.Mapped Statements collection does not contain…
2.The server time zone value’XXXXXXXXX’ is…
在Mybatis配置文件中的jdbc連接地址後面拼接serverTimezone=Asia/Shanghai
總結
到此這篇關於mybatis新手快速入門以及一些錯誤的文章就介紹到這瞭,更多相關mybatis快速入門及錯誤內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- MyBatis配置的應用與對比jdbc的優勢
- Java MyBatis框架環境搭建詳解
- Mybatis入門指南之實現對數據庫增刪改查
- Java Mybatis框架增刪查改與核心配置詳解流程與用法
- 一小時迅速入門Mybatis之bind與多數據源支持 Java API