MyBaits创建第一个maven项目

按照如下创建项目:

 

 

修改设置:

 

点击模块按钮创建Model:

 创建maven,普通java项目,选择蓝色一项

 

 

点击next-直到Finish

 

 

 

完成项目创建

w 

 创建一个resources文件夹:

把resources文件进行设置 

 

 删掉App和AppTest:

 

pom.xml里面添加依赖: 添加依赖和实体类:

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

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
<!--当前项目的坐标-->
  <groupId>cim.bjpowernode</groupId>
  <artifactId>ch01-first</artifactId>
  <version>1.0</version>



  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
<!--依赖列表-->
  <dependencies>
    <!--    mybatis的依赖-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.1</version>
    </dependency>

    <!--    mysql驱动-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.9</version>
    </dependency>


    <!--    单元测试-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
      <!--    资源插件:处理src/main/java目录中的xml-->
<!--     <resources>-->
<!--       <resource>-->
<!--       <directory>src/main/java</directory>&lt;!&ndash;  所在目录&ndash;&gt;-->
<!--         <includes>-->
<!--           <include>**/*.properties</include>-->
<!--           <include>**/*.xml</include>-->
<!--         </includes>-->
<!--         <filtering>false</filtering>-->
<!--       </resource>-->
<!--     </resources>-->
  </build>
</project>

创建接口 

 

 

 

  创建xml文件:mapper文件:StudentDao.xml配置文件   写sql语句

<?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="cim.bjpowernode.dao.StudentDao">
<!--    <select id="selectBlog" resultType="Blog">-->
<!--    select * from Blog where id = #{id}-->
<!--  </select>-->

<!-- 查询一个学生Student
  <select>:表示查询操作,里面是select语句
    id:要执行的sql语句的唯一标识,是一个自定的字符串
      推荐使用dao接口中的方法名称
    resultType:用来告诉告诉mybaits,执行sql语句,把数据赋值给那个类型的java对象
      值现在使用java对象的全限定名称
        cim.bjpowernode.domain.Student告诉 框架要转换的对象
    当执行sql语句之后,把执行的结果转成student对象,由框架由反射机制创建student类的对象,把同名的列赋给同名的属性
-->
    <select id="selectStudentById" resultType="cim.bjpowernode.domain.Student">
        select id,name,email,age from student where id=1001
    </select>
</mapper>
<!--
1.约束文件
  http://mybatis.org/dtd/mybatis-3-mapper.dtd
  作用:定义和限制当前文件中可以使用的标签和属性,以及标签的顺序
2.mapper跟标签
  namespace="cim.bjpowernode.dao.StudentDao"命名空间,必须有值不能为空,唯一值,推荐使用接口的全限定名称
  作用:参与识别sql语句的作用
3.在mapper里面可以写<insert>、<update>、<delete>、<selete>等标签
  <insert>:里面是insert语句,表示执行的insert操作
  <update>:里面是update语句
  ...

-->

创建Student类:

package cim.bjpowernode.domain;

public class Student {
    //属性名和列明保持一致
    private Integer id;
    private  String name;
    private String email;
    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "学生实体信息{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", email='" + email + '\'' +
                ", age=" + age +
                '}';
    }
}

 

创建主配置文件 :其中有连接数库

 

 

<?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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!-- 配置数据源:创建Connection对象,连接数据库 -->
            <dataSource type="POOLED">
                <!--driver:驱动的内容-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <!--连接数据库的url-->
                <property name="url" value="jdbc:mysql://localhost3306/mybatis?useUnicode=true&amp;charaterEcoding=utf-8"/>
                <!--用户名-->
                <property name="username" value="root"/>
                <!--密码-->
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
<!-- 是指定其他mapper文件的位置:
  其他mapper文件的目的是找到其他文件sql语句
-->
    <mappers>
        <!--
           使用mapper的resource属性指定mapper文件的路径
            这个路径是从target/classes路径开始的
             使用注意:
               resource=“mapper文件的路径,使用/分隔路径
               一个mapper resource指定一个mapper文件,如果有多个需要一个个指定
        -->
        <mapper resource="cim/bjpowernode/dao/StudentDao.xml"/>
    </mappers>
</configuration>
<!--
1.约束文件:http://mybatis.org/dtd/mybatis-3-config.dtd
2.
-->

执行sql语句需要mybatis中的对象来执行,可以通过主方法来执行代码,也可以通过单元测试来执行。因为需要执行好几个方法,为了执行代码方便通过单元测试,写独立的方法,来测试访问数据库的功能

创建测试类MyTest类:

package cim.bjpowernode;

import cim.bjpowernode.domain.Student;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;

public class MyTest {
    //测试mybaits执行sql语句
    @Test
    public void testSelectStudentById() throws IOException {
        //调用mybatis某个对象的方法,执行mapper文件中的sql语句
        //mybatis核心类:SqlSessionFactory

        //定义mybatis主配置文件的位置,从类路径开始的相对路径
        String config="mybatis.xml";
        //读取主配置文件,使用mybatis框架中的Resources类
        InputStream inputStream = Resources.getResourceAsStream(config);
        //3.创建SqlSessionFactory对象,使用SqlSessionFactoryBuidler类
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //4.获取SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //5.指定要执行sql语句的id
        //sql语句的id=namespace+“.”+<select>|update|insert|delete标签的id属性值
        String sqlid="cim.bjpowernode.dao.StudentDao"+"."+"selectStudentById";
        //6.通过SqlSession的方法,执行Sql语句
        Student student=sqlSession.selectOne(sqlid);
        System.out.println("使用mybatis要查询的学生:"+student);
        //7.关闭SqlSession对象
        sqlSession.close();
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵俺第一专栏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值