1. 開發步驟
①添加MyBatis的坐標 ②創建user資料表 ③撰寫User物體類 ④撰寫映射?件UserMapper.xml ⑤撰寫核??件SqlMapConfig.xml ⑥撰寫測驗類 2. 環境搭建 1)導?MyBatis的坐標和其他相關坐標<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <java.version>1.8</java.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <!--mybatis坐標--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <!--mysql驅動坐標--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> <scope>runtime</scope> </dependency> <!--單元測驗坐標--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!--?志坐標--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency>2) 創建user資料表
3) 撰寫User物體
public class User { private int id; private String username; private String password; //省略get個set?法 }4)撰寫UserMapper映射?件
<?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="userMapper"> <select id="findAll" resultType="com.lagou.domain.User"> select * from User </select> </mapper>5) 撰寫MyBatis核??件
<!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="https://www.cnblogs.com/bingyimeiling/p/com.mysql.jdbc.Driver"/> <property name="url" value="https://www.cnblogs.com/bingyimeiling/p/jdbc:mysql:///test"/> <property name="username" value="https://www.cnblogs.com/bingyimeiling/p/root"/> <property name="password" value="https://www.cnblogs.com/bingyimeiling/p/root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/lagou/mapper/UserMapper.xml"/> </mappers> </configuration>6) 撰寫測驗代碼
//加載核?配置?件 InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); //獲得sqlSession??物件 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); //獲得sqlSession物件 SqlSession sqlSession = sqlSessionFactory.openSession(); //執?sql陳述句 List<User> userList = sqlSession.selectList("userMapper.findAll"); //列印結果 System.out.println(userList); //釋放資源 sqlSession.close();
3. MyBatis的增刪改查操作
MyBatis的插?資料操作 1)撰寫UserMapper映射?件 <mapper namespace="userMapper"> <insert id="add" parameterType="com.lagou.domain.User"> insert into user values(#{id},#{username},#{password}) </insert> </mapper> 2)撰寫插?物體User的代碼 InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = sqlSessionFactory.openSession(); int insert = sqlSession.insert("userMapper.add", user); System.out.println(insert); //提交事務 sqlSession.commit(); sqlSession.close(); 3)插?操作注意問題 ? 插?陳述句使?insert標簽 ? 在映射?件中使?parameterType屬性指定要插?的資料型別 ?Sql陳述句中使?#{物體屬性名}?式引?物體中的屬性值?插?操作使?的API是sqlSession.insert(“命名空間.id”,物體物件); ?插?操作涉及資料庫資料變化,所以要使?sqlSession物件顯示的提交事務,即sqlSession.commit() MyBatis的修改資料操作 1)撰寫UserMapper映射?件 <mapper namespace="userMapper"> <update id="update" parameterType="com.lagou.domain.User"> update user set username=#{username},password=#{password} where id=# {id} </update> </mapper> 2)撰寫修改物體User的代碼 InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = sqlSessionFactory.openSession(); int update = sqlSession.update("userMapper.update", user); System.out.println(update); sqlSession.commit(); sqlSession.close(); 3)修改操作注意問題 ? 修改陳述句使?update標簽 ? 修改操作使?的API是sqlSession.update(“命名空間.id”,物體物件); MyBatis的洗掉資料操作 1)撰寫UserMapper映射?件 <mapper namespace="userMapper"> <delete id="delete" parameterType="java.lang.Integer"> delete from user where id=#{id} </delete> </mapper> 2)撰寫洗掉資料的代碼InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = sqlSessionFactory.openSession(); int delete = sqlSession.delete("userMapper.delete",3); System.out.println(delete); sqlSession.commit(); sqlSession.close(); 3)洗掉操作注意問題 ? 洗掉陳述句使?delete標簽 ?Sql陳述句中使?#{任意字串}?式引?傳遞的單個引數 ?洗掉操作使?的API是sqlSession.delete(“命名空間.id”,Object);轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/283006.html
標籤:Java
