mybatis 最基礎的開發方法
阿新 • • 發佈:2018-12-11
mybatis開發過程
這裡寫的只是大致的開發過程,沒有對每個具體過程中具體內容進行分析,因為我還比較菜,語言組織能力又差。
全域性配置檔案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> <!-- --> <properties resource="config/db.properties"> </properties> <environments default="development"> <environment id="development"> <!-- 使用jdbc事務管理,目前由mybatis來管理 --> <transactionManager type="JDBC"/> <!-- 資料庫連線池,目前又mybatis來管理 --> <dataSource type="POOLED"> <property name="driver" value="${sqlserver_driver}"/> <property name="url" value="${sqlserver_url}"/> <property name="username" value="${sqlserver_userName}"/> <property name="password" value="${sqlserver_password}"/> </dataSource> </environment> </environments> <!-- 對映檔案 --> <mappers> <mapper resource="zzu/qg/mybatis/mapper/User.xml"/> <mapper resource="zzu/qg/mybatis/mapper/UserMapper.xml"/> </mappers> </configuration>
對映檔案,這裡只寫了查詢和增加功能
<?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="test"> <select id="findUserById" parameterType="int" resultType="zzu.qg.mybatis.entity.User"> select * from [user] where id=#{value} </select> <insert id="insertUser" parameterType="zzu.qg.mybatis.entity.User"> insert into [user] values(#{userName},#{password},#{sex},#{birthday}) </insert> </mapper>
接下來,就開始編寫java程式。
public class TestMybatis { @Test public void findUserById(){ String resource="config/mybatis/mybatis-config.xml"; InputStream inputStream=null; try { inputStream=Resources.getResourceAsStream(resource); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //根據配置檔案的檔案輸入流建立sqlsession工廠 SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream); //建立sqlsession SqlSession sqlSession=sqlSessionFactory.openSession(); //System.out.println("----"); User user=sqlSession.selectOne("test.findUserById", 1); //System.out.println("++++"); System.out.println(user); //sqlsession執行sql語句完畢後,對資料庫的操作資訊仍然在記憶體中停留,需要呼叫commit()方法 //把記憶體裡邊的資料更新到資料庫中。 sqlSession.commit(); sqlSession.close(); } }