课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > java教程 > Mybatis的简单示例
  • Mybatis的简单示例

    发布:昆明Java培训      来源:java教程      时间:2016-11-08

  • 昆明达内Java培训的老师首先新建一个JavaWeb项目并导入mybatis依赖的jar包,同时Mybatis是对数据库的操作所以我们需要在数据库中新建一个表user用来演示。

    新建完表之后我们还需要建立相对应的实体类User.java并添加set和get方法:

    1 public class User {

    2    private String username;

    3    private String password;

    4    private int age;

    5    public String getUsername() {

    6        return username;

    7    }

    8    public void setUsername(String username) {

    9        this.username = username;

    10    }

    11    public String getPassword() {

    12        return password;

    13    }

    14    public void setPassword(String password) {

    15        this.password = password;

    16    }

    17    public int getAge() {

    18        return age;

    19    }

    20    public void setAge(int age) {

    21        this.age = age;

    22    }

    23 }

    在Mybatis中我们需要建立一个与实体类相对应的映射文件userMapper.xml:

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

    2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    3 <!--为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名)

    4 -->

    5 <mapper amespace="com.mybatis.mapping.userMapper">

    6    <!--在select标签中编写查询的SQL语句,id属性值必须是唯一的

    7    使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型

    8    -->

    9    <!--

    10        根据username查询得到一个user对象

    11     -->

    12    <select id="getUser" parameterType="java.lang.String"

    13        resultType="com.mybatis.po.User">

    14        select * from user where username=#{username}

    15    </select>

    16    

    17       <delete id="deleteUser" parameterType="java.lang.String">

    18        delete from user where username=#{username}

    19    </delete>

    20 </mapper>

    最后我们需要在src下新建一个Mybatis与数据库连接的配置文件config.xml,并将上面的userMapper.xml导入,代码如下:

    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">

    3 <configuration>

    4    <environments default="development">

    5        <environment id="development">

    6            <transactionManager type="JDBC" />

    7            <!--配置数据库连接信息-->

    8            <dataSource type="POOLED">

    9                <property ame="driver" value="com.mysql.jdbc.Driver" />

    10                <property ame="url" value="jdbc:mysql://localhost:3306/test" />

    11                <property ame="username" value="root" />

    12                <property ame="password" value="" />

    13            </dataSource>

    14        </environment>

    15    </environments>

    16     <mappers>

    17        <!--注册userMapper.xml文件,resource为userMapper.xml所在目录-->

    18         <mapper resource="com/mybatis/mapping/userMapper.xml"/>

    19     </mappers>

    20 </configuration>

    这里的配置数据库连接信息和Hibernate差别不是很大,现在我们新建一个Test类来测试一下:

    1 public class Test {

    2

    3    public static void main(String[] args) throws IOException {

    4        //mybatis的配置文件

    5        String resource = "config.xml";

    6        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)

    7        InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);

    8        //构建sqlSession的工厂

    9        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);

    10        //打开session

    11        SqlSession session = sessionFactory.openSession();

    12        /**

    13         *映射sql的标识字符串

    14         *com.mybatis.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,

    15         * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL

    16         */

    17        String statement = "com.mybatis.mapping.userMapper.getUser";//映射sql的标识字符串

    18        //执行查询返回一个唯一user对象的sql

    19        User user = session.selectOne(statement,"username1");

    20        System.out.println(user.getUsername());

    21        String statement2="com.mybatis.mapping.userMapper.deleteUser";

    22        session.delete(statement2,user);

    23    }

    24 }

    +执行selectOne方法会返回一个user对象(如果想要查询多条数据可以用selectList,此方法会返回List<User>的对象),我们在控制台输出user对象的username.执行delete方法可以直接将对象对应的一条数据删除,可以根据数据库中的变化来判断是否执行成功。

    以上就是昆明达内Java培训的老师讲的Mybatis的一个简单示例,当然在userMapper.xml中我们还可以用OGNL生成动态sql语句,感兴趣的可以自己研究一下。

    推荐文章

上一篇:dubbo服务的直连提供者、只定阅、只注册的知识点

下一篇:Java培训:建造者模式

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:12/29

Java--零基础业余班

Java--零基础业余班

开班日期:12/29

Java--周末提升班

Java--周末提升班

开班日期:12/29

Java--零基础周末班

Java--零基础周末班

开班日期:12/29

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56