mybatis-config.xmljava
<?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"> <!-- XML 配置文件包含對 MyBatis 系統的核心設置 --> <configuration> <!-- 指定 MyBatis 所用日誌的具體實現 --> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <typeAliases> <package name="com.rookie.bigdata.domain"/> </typeAliases> <environments default="mysql"> <!-- 環境配置,即鏈接的數據庫。 --> <environment id="mysql"> <!-- 指定事務管理類型,type="JDBC"指直接簡單使用了JDBC的提交和回滾設置 --> <transactionManager type="JDBC"/> <!-- dataSource指數據源配置,POOLED是JDBC鏈接對象的數據源鏈接池的實現。 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://192.168.47.151:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <!-- mappers告訴了MyBatis去哪裏找持久化類的映射文件 --> <mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers> </configuration>
userMapper.xmlmysql
<?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指用戶自定義的命名空間。 --> <mapper namespace="com.rookie.bigdata.mapper.UserMapper"> <!-- id="save"是惟一的標示符 parameterType屬性指明插入時使用的參數類型 useGeneratedKeys="true"表示使用數據庫的自動增加策略 --> <insert id="saveUser" parameterType="com.rookie.bigdata.domain.User" useGeneratedKeys="true"> INSERT INTO T_USER(name,sex,age) VALUES(#{name},#{sex},#{age}) </insert> <!-- select操做 parameterType="int"表示該查詢語句須要一個int類型的參數 resultType="user"表示返回的是一個user對象 --> <select id="selectUser" parameterType="int" resultType="user"> SELECT * FROM T_USER WHERE id = #{id} </select> <select id="selectAll" resultType="user"> SELECT * FROM T_USER </select> <!-- update操做 parameterType="user"表示該更新語句須要一個user對象做爲參數--> <update id="updateUser" parameterType="user"> UPDATE T_USER SET name = #{name},sex = #{sex},age = #{age} WHERE id = #{id} </update> <!-- delete操做 parameterType="int"表示該查詢語句須要一個int類型的參數--> <delete id="DeleteUser" parameterType="int"> DELETE FROM TB_USER WHERE id = #{id} </delete> </mapper>
UserMapper.javasql
package com.rookie.bigdata.mapper; import com.rookie.bigdata.domain.User; import java.util.List; /** * Created by dell on 2019/6/17. */ public interface UserMapper { void saveUser(User user); User selectUser(Integer id); void updateUser(User user); void DeleteUser(Integer id); List<User> selectAll(); }
SqlSessionFactoryUtil.java數據庫
package com.rookie.bigdata.factory; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class SqlSessionFactoryUtil { private static SqlSessionFactory sqlSessionFactory = null; // 初始化建立SqlSessionFactory對象 static{ try { // 讀取mybatis-config.xml文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder() .build(inputStream); } catch (Exception e) { e.printStackTrace(); } } // 獲取SqlSession對象的靜態方法 public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(); } // 獲取SqlSessionFactory的靜態方法 public static SqlSessionFactory getSqlSessionFactory() { return sqlSessionFactory; } }
測試增刪改查apache
package com.rookie.bigdata.mapper; import com.rookie.bigdata.domain.User; import com.rookie.bigdata.factory.SqlSessionFactoryUtil; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import java.util.List; import static org.junit.Assert.*; /** * Created by dell on 2019/6/17. */ public class UserMapperTest { @Test public void saveUser() throws Exception { SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.saveUser(new User("張三", "男", 26)); sqlSession.commit(); sqlSession.close(); //sqlSession.commit(); } @Test public void selectUser() throws Exception { SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.selectUser(1); System.out.println(user); sqlSession.commit(); sqlSession.close(); } @Test public void updateUser() throws Exception { SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = new User("zhangsan","女",70); user.setId(1); mapper.updateUser(user); sqlSession.commit(); sqlSession.close(); } @Test public void deleteUser() throws Exception { SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.DeleteUser(1); sqlSession.commit(); sqlSession.close(); } @Test public void selectAll() throws Exception { SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> userList = mapper.selectAll(); for (User user : userList) { System.out.println(user); } sqlSession.commit(); sqlSession.close(); } }