发表于: 2016-03-05 18:10:21

5 4381


1.mybatis学习
  (1)我昨天以为要把下载好的Mybatis的jar包放入Maven工程的本地文件夹内才能导入,在借鉴了网上一个项目后,我发现直接在Maven工程的pom.xml的<dependencies></dependencies>中写入以下内容,保存即可:
     <dependency>  
    <groupId>org.mybatis</groupId> //注意:此处必须写org.mybatis,不能只写mybatis  
    <artifactId>mybatis</artifactId>  
    <version>3.1.1</version>  
     </dependency>
     <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.28</version>
     </dependency>       

  (2)在ITtask_1根目录上右键-Source Folder,建立一个资源文件夹,用来存放configuration.xml。
  (3)创建一个configuration.xml,步骤:右键-New-Other-XML-XML File-命名-选择“Create XML file from an XML template”.
  在该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>
        <typeAliases>
        <!--给实体类起一个别名 user -->
        <typeAlias alias="Student" type="caojunqi.ITtask_1.student"/>
        </typeAliases>

        <!--数据源配置  使用mysql数据库 -->
        <environments default="development">
        <environment id="development">
        <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://127.0.0.1:3306/caojunqi_1" />
            <property name="username" value="root"/>
            <property name="password" value="hanlina123"/>
            </dataSource>
        </environment>
        </environments>
       
        <mappers>
        <mapper resource="mapper/StudentMapper.xml"/>
        </mappers>
    </configuration>

  注:
  1.Configuration.xml是mybatis用来建立sessionFactory用的,里面主要包含了数据库连接相关东西,还有java类所对应的别名,比如 <typeAlias alias="User" type="caojunqi.ITtask_1.Student"/> 这个别名非常重要,你在具体的类的映射中,比如User.xml中resultType就是对应这里的,要保持一致。
  2.关于typeAlias标签。简而言之,typeAlias标签中的alias是别名,type是具体路径,凡是要用到具体路径的地方,都能用alias代替type。
  3.关于environments标签和environment标签。environments里可以配置多个environment,每个environment对应一个数据库环境。具体内容参看链接:http://blog.csdn.net/hupanfeng/article/details/9080545/
  4.关于mappers标签。Mappers用于告诉Mybatis去哪里寻找sql映射文件。
  (4)建立一个Student类,放在src/main/java资源文件夹下的caojunqi.ITtask_1目录下。该类里面包含所有student表中的属性。
  (5)建立一个StudentMapper的接口,也放在src/main/java资源文件夹下的caojunqi.ITtask_1目录下。
  (6)在src/main/resources文件夹下新建一个普通文件夹mapper,并在src/main/resources/mapper下新建一个StudentMapper.xml文件,里面写上要对mysql进行哪些操作。
  (7)在src/test/java资源文件夹下的caojunqi.ITtask_1目录下新建一个测试类:TestStudent.java,里面写测试代码。



2.一个小插曲。由于数据库中的字段名称不能有大写,我以前创建的caojunqi_1数据库中的student表的主键字段是ID,先在将其改为id。sql语句为“alter table student change ID id int”,后面那个int必须写,不然会报错。但是这样修改后id字段的auto_increment属性没了,所以应该这样改“alter table student change ID id int auot_increment”,但是不能这样改“alter table student change ID id int auto_increment primary key”,会提示定义了两个主键。

3.一个小插曲。突然发现,在Maven中如果想导入或升级jar包很方便,只要在pom.xml中修改即可,无需自己下载。

总结:
1.JAVA在创建类时,其属性的数据类型应该是一个封装类,而不能是基本类型。如可以写“private Integer id”,不能写“private int id”。
2.pom.xml是用来配置Maven工程中需要什么jar包的;configuration.xml是用来将Maven项目和mysql连接起来的;StudentMapper.xml是用来写对数据库的增删改查工作的。
3.在JAVA中,如果要把int转换成Long类型,可以用Long.valueOf(1);如果要把int转换成为Integer类型,可以用Integer.valueOf(24)。



疑问:
1.在environments标签下有一个dataSource标签,关于该标签的drive属性和url属性,经过查资料,我是这样理解的,drive属性应该是规定好的,就是“com.mysql.jdbc.Driver”,大伙都一样,这个应该不能改;url表示数据库的地址,例如我写的是“jdbc:mysql://127.0.0.1:3306/caojunqi_1”,其中的127.0.0.1这个地址只有我自己的计算机能识别,如果别的计算机要连接我电脑上的数据库,是不是应该把这个换成我的IP地址:172.17.218.134?那个3306应该是mysql的端口号,后面的caojunqi_1是我前两天在mysql上建立的数据库名称。
2.为什么我下载的源码中可以在一个source folder下新建一个普通文件夹folder,而我如果在source folder下新建一个普通folder的话,会自动变成一个Package?


返回列表 返回列表
评论

    分享到