昆明java培训
达内昆明广州春城路

18487146383

热门课程

Mybatis的简单示例

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

昆明达内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 IO流之字节流和字符流

java IO流之file类的常用操作

搭建james邮件服务器

Java识别操作系统

选择城市和中心
贵州省

广西省

海南省