Mybatis注解开发的搭建

1.新建一个maven工程,在Java中新建类com.itheima.domain.User
该类的内容开头是:

public class User implements Serializable {
    private Integer id;
    private String username;
    private String address;
    private String sex;
    private Date birthday;

接下来生成他们的get和set和toString方法,简单起见类的属性名和数据库中列名要相同
2.在Java中新建接口com.itheima.dao.IUseDao
该接口先定义一个方法findAll,返回的是一个List集合,在方法上方添加注解

@Select("select * from user")

它与XML配置不同的地方就在于此,只需要配置就可以代替XML中的配置信息,本来XML配置是这样的:

<select id="findAll" resultType="com.itheima.domain.User">
    select * from user ;
</select>

配置完成了上面所呈现的四个信息,即全限定类名,方法名,封装对象,SQL语句
3.接下来导入log4j.properties和jdbcConfig.properties文件,指明驱动、url、username、password四个连接数据库必备属性

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

4.同目录下(resource)建一个xml文件命名为SqlMapConfig.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>
    <!--引入外部配置文件-->
    <properties resource="jdbcConfig.properties"></properties>
    <!--配置别名-->
    <typeAliases>
        <package name="com.itheima.domain"></package>
    </typeAliases>
    <!--配置环境-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"></property>
                <property name="url" value="${jdbc.url}"></property>
                <property name="username" value="${jdbc.username}"></property>
                <property name="password" value="${jdbc.password}"></property>
            </dataSource>
        </environment>
    </environments>
    <!--指定带有注解的dao接口所在位置-->
    <mappers>
        <package name="com.itheima.dao"></package>
    </mappers>
</configuration>

配置环境那里,因为在jdbcConfig.properties文件中配置的那四个属性中都是jdbc.driver=…之类的,所以如果把${jdbc.driver}改成不要jdbc.会报错称找不到${driver},在properties文件中删掉jdbc可解决此问题,只要名称一致就可以,不过不能改driver改成river之类的,要不然驱动都加载不了,连接不上数据库
5.在test中新建测试类com.itheima.test.MybatisAnnoTest,改类:

		//1.获取字节输入流
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
        //2.根据字节输入流构建SqlSessionFactory
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(in);
        //3.根据SqlSessionFactory生产一个SqlSession
        SqlSession session = factory.openSession();
        //4.使用SqlSession获取dao代理对象
        IUserDao userDao = session.getMapper(IUserDao.class);
        //5.执行dao方法
        List<User> users = userDao.findAll();
        for(User user : users){
            System.out.println(user);
        }
        //6.释放资源
        session.close();
        in.close();

这是标准步骤了
后面的增删改也不难了,可以用测试类,加@Before和@After简化代码,要记得提交session.commit()就可以,我只在main方法中把findAll方法改了

User user = new User();
        user.setUsername("紫霞仙子");
        user.setAddress("王者荣耀");
        user.setSex("女");
        userDao.saveUser(user);
        session.commit();

这就插入了一条数据,注解:

@Insert("insert into user (username,address,sex) 
values(#{username},#{address},#{sex})")

至此,用Mybatis框架搭建增删查改就掌握了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值