美文网首页
01环境搭建

01环境搭建

作者: RobertLiu123 | 来源:发表于2019-07-18 13:51 被阅读0次

    一、框架:

    半成品,可以理解为房子的大框,之后砌墙会在其基础上。

    二、目录结构

    image

    三、jar包下载

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
            <!-- <version>3.3.0</version> -->
            <version>3.4.2</version>
    </dependency>
    
    <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.36</version>
        </dependency>
    
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.2</version>
        </dependency> 
        
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
        </dependency>
        
        <dependency>
            <groupId>org.mybatis.caches</groupId>
            <artifactId>mybatis-ehcache</artifactId>
            <version>1.0.2</version>
        </dependency>
        <dependency>
    
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>2.10.1</version>
        </dependency>
    

    四、在src中引入SqlMapConfig.xml文件

    名字可随便取,但惯例都叫此,之后会有专门的地方根据名字读取文件,现在专门解释一下该文件,文件后缀名时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> 
        
    </configuration>  
    

    1、

    <?xml version="1.0" encoding="UTF-8"?>
    

    是必须有的头文件
    2、

    <!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
    

    是处理指令,能够解析MyBatis元素
    3、根元素

    <configuration></configuration>
    

    一个配置文件只能有一个根元素
    4、在<configuration></configuration>中配置数据源,所谓数据源就是数据的来源,可以理解为数据库

    <configuration>
        <environments default="mysql">
            <environment id="mysql">
                <!-- 事务管理器 -->
                <transactionManager type="jdbc"></transactionManager>
                <!-- 配置数据源 -->
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver" />
                    <property name="url" value="jdbc:mysql://localhost:3306/scott" />
                    <property name="username" value="root" />
                    <property name="password" value="root" />
                </dataSource>
            </environment>
        </environments>
    </configuration>  
    

    a.default中的值决定具体使用哪一数据源,所谓数据源就是数据的来源,即数据库
    b.在指定的数据源中,首先配置事务控制器
    c.配置数据源的相关信息,POOLED表示使用连接池进行连接
    d.property中的name都有特定的含义,不允许改变

    五、建表语句

    CREATE TABLE `NewTable` (
    `id`  int(11) NULL DEFAULT NULL ,
    `username`  varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
    `hiredate`  date NULL DEFAULT NULL ,
    `password`  varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL 
    )
    ENGINE=InnoDB
    DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
    ROW_FORMAT=COMPACT
    ;
    

    六、创建实体类

    public class User {
        private int id;
        private String username;
        private String password;
        private Date hiredate;
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        public Date getHiredate() {
            return hiredate;
        }
        public void setHiredate(Date hiredate) {
            this.hiredate = hiredate;
        }
        
    }
    

    七、创建接口UserMapper

    public interface UserMapper {
        User getUser(int id);
    
    }
    

    八、创建与UserMapper接口同名的xml配置文件

    <?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命名空间,作用就是对sql进行分类化管理-->
    <mapper namespace="com.neusoft.dao.UserMapper">
        <select id="getUser" parameterType="java.lang.Integer" resultType="com.neusoft.bean.User">
            select * from t_user where id = #{value}
        </select>
    </mapper>
    

    1、mapper是根元素
    2、<mapper namespace="com.neusoft.dao.UserMapper">的namespace值必须写接口的全限定名,
    3、根元素中可以编写sql语句
    4、parameterType:指定输入参数类型,mybatis 从输入对象中获取参数值拼接在 sql 中。
    resultType:指定输出结果类型,mybatis 将 sql 查询结果的一行记录数据映射为 resultType 指定类型的对象。
    上述参数值需要引入全限定名
    有的童鞋可能猜到了,你可以认为这个配置文件类似于接口的实现类,只不过我们不用implements关键字,而是在主配置文件中读取它

    <mappers>
            <!-- <mapper resource="com/dao/UserMapper.xml"/> -->
            <package name="com.neusoft.dao"/>
        </mappers>
    

    九、最后,我们编写测试类,主要经过如下步骤

    1、加载核心配置文件

    Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
    

    2、获取数据库连接池对象

    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
    

    3、获取与数据库的链接

    SqlSession session = factory.openSession();
    

    4、通过连接拿到实体类对象

    UserMapper userMapper = session.getMapper(UserMapper.class);
    

    5、根据id查询用户信息

    User user = userMapper.getUser(1);
    

    此时相关数据已经封装给了实体类

    十、引入配置文件

    在classpath下创建db.properties

    jdbc.driver =com.mysql.jdbc.Driver
    
    jdbc.url = jdbc:mysql://localhost:3306/scott
    
    jdbc.username=root
    
    jdbc.password=root
    

    此时在SqlMapConfig.xml文件中需要修改为

    <!-- properties元素:
        resource属性,要引入的消息资源文件相对于src的路径 -->
        <properties resource="db.properties"></properties>
        <environments default="oracle">
            <environment id="oracle">
                <!-- 事务管理器 -->
                <transactionManager type="mysql"></transactionManager>
                <!-- 配置数据源 -->
                <dataSource type="POOLED">
                    <property name="driver" value="${jdbc.driver}"/>
                    <property name="url" value="${jdbc.url}"/>
                    <property name="username" value="${jdbc.username}"/>
                    <property name="password" value="${jdbc.password}"/>
                </dataSource>
            </environment>
        </environments>
    

    相关文章

      网友评论

          本文标题:01环境搭建

          本文链接:https://www.haomeiwen.com/subject/qoiklctx.html