首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

Mybaits技术(1) Mybatis入门示例

2012-07-27 
Mybaits技术(一) Mybatis入门示例1. 搭建开发环境(1)新建一个Web工程,名称为MybatisFramework。?(2)将以下

Mybaits技术(一) Mybatis入门示例

1. 搭建开发环境

(1)新建一个Web工程,名称为MybatisFramework。

?

(2)将以下的JAR放到Web工程的lib下面:

Java代码??Mybaits技术(1) Mybatis入门示例
  1. mybatis-3.0.6.jar??
  2. og4j-1.2.16.jar??
  3. classes12.jar??

?

(3)在src下面新建log4j.properties文件,该文件的内容如下:

Java代码??Mybaits技术(1) Mybatis入门示例
  1. log4j.appender.stdout=org.apache.log4j.ConsoleAppender??
  2. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout??
  3. log4j.appender.stdout.layout.ConversionPattern=%d?%p?[%c]?-%m%n??
  4. log4j.logger.com.ibatis=debug??
  5. log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug??
  6. log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug??
  7. log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug??
  8. log4j.logger.java.sql.Connection=debug??
  9. log4j.logger.java.sql.Statement=debug??
  10. log4j.logger.java.sql.PreparedStatement=debug,stdout??

?

(4)在src下面新建mybatis.cfg.xml文件,该文件的内容如下:

Java代码??Mybaits技术(1) Mybatis入门示例
  1. <?xml?version="1.0"?encoding="UTF-8"??>??
  2. ??
  3. <!DOCTYPE?configuration?PUBLIC???
  4. ????"-//mybatis.org//DTD?Config?3.0//EN"??
  5. ????"http://mybatis.org/dtd/mybatis-3-config.dtd">??
  6. ??
  7. <configuration>??
  8. ??????
  9. ????<environments?default="development">??
  10. ????????<environment?id="development">??
  11. ????????????<transactionManager?type="JDBC"?/>??
  12. ????????????<dataSource?type="POOLED">??
  13. ??????????????<property?name="driver"?value="oracle.jdbc.OracleDriver"?/>??
  14. ??????????????<property?name="url"?value="jdbc:oracle:thin:@localhost:1521:SID"?/>??
  15. ??????????????<property?name="username"?value="xxxx"?/>??
  16. ??????????????<property?name="password"?value="xxxx"?/>??
  17. ????????????</dataSource>??
  18. ????????</environment>??
  19. ????</environments>??
  20. ?????
  21. ????</configuration>??

?

?

2. 入门示例

(1)在Oracle数据库执行以下SQL,创建一个USER_INFO的表:

Java代码??Mybaits技术(1) Mybatis入门示例
  1. --?Create?table??
  2. create?table?USER_INFO??
  3. (??
  4. ??ID??????????NUMBER(12)?not?null,??
  5. ??NAME????????VARCHAR2(50)??
  6. );??
  7. ??
  8. --Insert?data??
  9. insert?into?USER_INFO(ID,NAME)?values(1,'张三');??

?

(2)新建一个Java类UserInfo.java,该类的内容如下:

?

Java代码??Mybaits技术(1) Mybatis入门示例
  1. package?com.user;??
  2. ??
  3. public?class?UserInfo?{??
  4. ????private?int?id;??
  5. ????private?String?name;??
  6. ??
  7. ????public?UserInfo()?{??
  8. ????}??
  9. ??
  10. ????public?UserInfo(String?name)?{??
  11. ????????this(0,?name);??
  12. ????}??
  13. ??
  14. ????public?UserInfo(int?id,?String?name)?{??
  15. ????????this.id?=?id;??
  16. ????????this.name?=?name;??
  17. ????}??
  18. ??
  19. ????public?int?getId()?{??
  20. ????????return?id;??
  21. ????}??
  22. ??
  23. ????public?void?setId(int?id)?{??
  24. ????????this.id?=?id;??
  25. ????}??
  26. ??
  27. ????public?String?getName()?{??
  28. ????????return?name;??
  29. ????}??
  30. ??
  31. ????public?void?setName(String?name)?{??
  32. ????????this.name?=?name;??
  33. ????}??
  34. ??
  35. ????@Override??
  36. ????public?String?toString()?{??
  37. ????????return?"ID:?"?+?id?+?",?Name:?"?+?name;??
  38. ????}??
  39. }??

?

(3)在com.user.sqlmap下面新建UserInfo.xml文件,该文件的内容如下:

?

Java代码??Mybaits技术(1) Mybatis入门示例
  1. <?xml?version="1.0"?encoding="UTF-8"??>??
  2. ??
  3. <!DOCTYPE?mapper?PUBLIC???
  4. ????"-//mybatis.org//DTD?Mapper?3.0//EN"??
  5. ????"http://mybatis.org/dtd/mybatis-3-mapper.dtd">??
  6. ??
  7. <mapper?namespace="User">??
  8. ????<select?id="selectUser"?parameterType="int"?resultType="UserInfo">??
  9. ????<![CDATA[??
  10. ????????select?*?from?user_info?where?id?=?#{id}??
  11. ????]]>??
  12. ????</select>??
  13. </mapper>??

?

(4)将UserInfo.xml引用到mybatis.cfg.xml文件中,mybatis.cfg.xml文件更新后的内容如下:

Java代码??Mybaits技术(1) Mybatis入门示例
  1. <?xml?version="1.0"?encoding="UTF-8"??>??
  2. ??
  3. <!DOCTYPE?configuration?PUBLIC???
  4. ????"-//mybatis.org//DTD?Config?3.0//EN"??
  5. ????"http://mybatis.org/dtd/mybatis-3-config.dtd">??
  6. ??
  7. <configuration>??
  8. ????<typeAliases>??
  9. ????????<typeAlias?alias="UserInfo"?type="com.user.UserInfo"?/>??
  10. ????</typeAliases>??
  11. ??????
  12. ????<environments?default="development">??
  13. ????????<environment?id="development">??
  14. ????????????<transactionManager?type="JDBC"?/>??
  15. ????????????<dataSource?type="POOLED">??
  16. ??????????????<property?name="driver"?value="oracle.jdbc.OracleDriver"?/>??
  17. ??????????????<property?name="url"?value="jdbc:oracle:thin:@localhost:1521:ORACLEDB"?/>??
  18. ??????????????<property?name="username"?value="oracle"?/>??
  19. ??????????????<property?name="password"?value="oracle"?/>??
  20. ????????????</dataSource>??
  21. ????????</environment>??
  22. ????</environments>??
  23. ?????
  24. ????<mappers>??
  25. ????????<mapper?resource="com/user/sqlmap/UserInfo.xml"?/>??
  26. ????</mappers>??
  27. </configuration>??

?

(5)新建一个测试Java类UserInfoTest.java,该类的具体内容如下:

Java代码??Mybaits技术(1) Mybatis入门示例
  1. package?com.user;??
  2. ??
  3. import?java.io.IOException;??
  4. import?java.io.Reader;??
  5. ??
  6. import?org.apache.ibatis.io.Resources;??
  7. import?org.apache.ibatis.session.SqlSession;??
  8. import?org.apache.ibatis.session.SqlSessionFactory;??
  9. import?org.apache.ibatis.session.SqlSessionFactoryBuilder;??
  10. ??
  11. ??
  12. ??
  13. public?class?UserInfoTest?{??
  14. ??
  15. ????/**?
  16. ?????*?@param?args?
  17. ?????*?@throws?IOException??
  18. ?????*/??
  19. ????public?static?void?main(String[]?args)?throws?IOException?{??
  20. ????????String?resource?=?"mybatis.cfg.xml";??
  21. ????????Reader?reader?=?Resources.getResourceAsReader(resource);??
  22. ????????SqlSessionFactory?ssf?=?new?SqlSessionFactoryBuilder().build(reader);??
  23. ??????????
  24. ????????SqlSession?session?=?ssf.openSession();??
  25. ??????????
  26. ????????try?{??
  27. ????????????UserInfo?user?=?(UserInfo)?session.selectOne("User.selectUser",?"1");??
  28. ????????????System.out.println(user);??
  29. ????????}?catch?(Exception?e)?{??
  30. ????????????e.printStackTrace();??
  31. ????????}?finally?{??
  32. ????????????session.close();??
  33. ????????}??
  34. ????}??
  35. ??
  36. }??

?

(6)右键UserInfoTest 类,选择Run As Application,运行MyBaits操作数据库。

?

Java代码??Mybaits技术(1) Mybatis入门示例
  1. log4j:WARN?No?appenders?could?be?found?for?logger?(org.apache.ibatis.logging.LogFactory).??
  2. log4j:WARN?Please?initialize?the?log4j?system?properly.??
  3. log4j:WARN?See?http://logging.apache.org/log4j/1.2/faq.html#noconfig?for?more?info.??
  4. 2012-02-11?21:44:01,750?DEBUG?[java.sql.PreparedStatement]?-==>??Executing:?select?*?from?user_info?where?id?=?????
  5. 2012-02-11?21:44:01,781?DEBUG?[java.sql.PreparedStatement]?-==>?Parameters:?1(String)??
  6. ID:?1,?Name:?张三 ?

?

热点排行