zoukankan      html  css  js  c++  java
  • 【初识MyBatis→简单的mybatis开发环境搭建】

     
    开发环境:
    windows7+jdk1.8+tomcat8.0
    开发工具:
    eclipse+sqlyog
    数据库:
    mysql数据库
     
    搭建步骤
    【1创建一个java工程,如下:】java项目工程名这里定义为【MybaitsTest

     
    【2、完整项目文件结构】
    创建完成之后的目录结构如图。
    【3、准备两个必要的jar文件,自己有的可以用自己项目的,没有的,下面提供连接直接下载】
    mysql-connector-java-5.1.21-bin.jar
    mybatis-3.2.3.jar
    【4、对于jar文件可以根据自己的习惯去处理,这里分别包装了两个jar类库,分别放到类库里面】
    选中你刚才新建的java项目,然后
    “next”
    找到你的jar文件,然后ok
    按照同样的方法添加另一个类库
    加完之后“finish”→“ok”
    【4、创建测试数据库和表】
    创建表:
    1. CREATE TABLE `user`(
    2. `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    3. `name` VARCHAR(64) NOT NULL DEFAULT '',
    4. `team` VARCHAR(64) NOT NULL DEFAULT '',
    5. `position` VARCHAR(64) NOT NULL DEFAULT '',
    6. `number` INT(10),
    7. PRIMARY KEY (`id`)
    8. )ENGINE=INNODB AUTO_INCREMENT=2
    9. DEFAULT CHARSET gbk;
    新增测试数据表:
    1. INSERT INTO `user` VALUES('1','麦迪','火箭','得分后卫','1');
    2. INSERT INTO `user` VALUES('2','欧文','骑士','控球后卫','2');
    3. INSERT INTO `user` VALUES('3','韦德','热火','得分后卫','3');
    【5、创建user对应的java类文件】
    加set,get方法
    ps:快速set,get的方法
    定义完了上面的属性之后:
    ①操作快捷键:shift+alt+s+r
    ②再操作快捷键:shift+alt+a
    ③ok完成
    【6、创建user对应的xml映射文件】
    1. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    2. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    3. <!--
    4. 该文件的作用就是定义各种sql语句,以及这些语句的参数,以及要返回的类型等等。
    5. -->
    6. <mappernamespace="UserMapper">
    7. <selectid="getUserById"parameterType="int"resultType="User">
    8. SELECT * FROM USER WHERE ID =#{id}
    9. </select>
    10. </mapper>
    【7、创建configure.xml配置文件】
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    3. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    4. <configuration>
    5. <typeAliases>
    6. <typeAliasalias="User"type="com.crayon.test.models.User"/>
    7. </typeAliases>
    8. <environmentsdefault="development">
    9. <environmentid="development">
    10. <transactionManagertype="JDBC"/>
    11. <dataSourcetype="POOLED">
    12. <propertyname="driver"value="com.mysql.jdbc.Driver"/>
    13. <propertyname="url"value="jdbc:mysql://127.0.0.1:3306/mybatistest"/>
    14. <propertyname="username"value="root"/>
    15. <propertyname="password"value="0908"/>
    16. </dataSource>
    17. </environment>
    18. </environments>
    19. <!-- 这里配置要映射的类的xml文件 -->
    20. <mappers>
    21. <mapperresource="com/crayon/test/models/User.xml"/>
    22. </mappers>
    23. </configuration>
     
    ps:该配置文件的作用:
    配置文件是mybatis用来建立 sessionFactory 主要包括了数据库连接相关的内容还有java类对应的别名, 
                比如:<typeAlias 
    alias="User" type="com.crayon.test.models.User"/> 这个别名非常重要,在具体的类的映射中,
                比如:User.xml 
    中 resultType 就是对应这个。要保持一致,这里的 resultType 还有另外单独的定义方式,后面学习到我们再详细介绍说明。
    【8、测试】
    1. package com.crayon.test;
    2. import java.io.IOException;
    3. import java.io.Reader;
    4. import org.apache.ibatis.io.Resources;
    5. import org.apache.ibatis.session.SqlSession;
    6. import org.apache.ibatis.session.SqlSessionFactory;
    7. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    8. import com.crayon.test.models.User;
    9. /**
    10. *
    11. * @ClassName: MyBatisTest
    12. * @Description: TODO(测试工具类)
    13. * @author Crayon
    14. * @date 2016年4月22日 下午4:27:50
    15. *
    16. */
    17. publicclassMyBatisTest{
    18. publicstaticSqlSessionFactory sf ;
    19. publicstaticReader rd ;
    20. static{
    21. try{
    22. rd =Resources.getResourceAsReader("config/Configure.xml");
    23. sf =newSqlSessionFactoryBuilder().build(rd);
    24. }catch(IOException e){
    25. // TODO Auto-generated catch block
    26. e.printStackTrace();
    27. }
    28. }
    29. publicstaticSqlSessionFactory getSession(){
    30. return sf ;
    31. }
    32. publicstaticvoid main(String[] args){
    33. SqlSession session = sf.openSession();
    34. try{
    35. //到对应的user.xml文件中去找
    36. User u = session.selectOne("UserMapper.getUserById",1);
    37. //输出我们要的结果
    38. if(u!=null){
    39. String userInfo = u.getTeam()+"当家球星"+"名字:"+ u.getName()+"球衣号码:【"+u.getNumber()+"】场上位置司职:"+u.getPosition();
    40. System.out.println(userInfo);
    41. }
    42. }catch(Exception e){
    43. // TODO Auto-generated catch block
    44. e.printStackTrace();
    45. }finally{
    46. if(session!=null){
    47. session.close();
    48. }
    49. }
    50. }
    51. }
     
     





  • 相关阅读:
    张艾迪(创始人):视觉计算极简主义的设计
    张艾迪(创始人):同一个世界.同一个梦想
    张艾迪(创始人):Hello.世界...
    张艾迪(创始人):理念是全世界都在用....
    张艾迪(创始人):解码互联网天才
    张艾迪(创始人):艾迪成长记
    张艾迪(创始人): 趣味励志
    张艾迪(创始人): 励志的路上
    张艾迪(创始人):创始人故事无限N个
    张艾迪(创始人): 从诞生那一刻.走向整个世界
  • 原文地址:https://www.cnblogs.com/yaoxiaoxing/p/5421865.html
Copyright © 2011-2022 走看看