mybatis对数据库的增删改查

1.新建一个java项目,取名为Mybatis. 

2.导入相关的mybatis和连接mysql的jar包

  

3.在src目录下,新建一个包存放映射文件和mybatis的配置文件。

    ①.新建mybatis_config.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>

    <!--定义别名-->
    <typeAliases>
        <typeAlias alias="User" type="com.xjj.mybatis.entity.User"></typeAlias>
    </typeAliases>


    <!-- 配置数据源信息 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <!-- POOLED        PooledDataSourceFactory   使用连接池的数据源 -->
            <!-- UNPOOLED      UnpooledDataSourceFactory  不使用连接池的数据源 -->
            <!-- JNDI          JndiDataSourceFactory    使用JNDI实现的数据源 -->
            <!-- type=”POOLED” MyBatis会创建PooledDataSource实例 type=”UNPOOLED” MyBatis会创建UnpooledDataSource实例type=”JNDI” MyBatis会从JNDI服务上查找DataSource实例 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/spring_test"/>
                <property name="username" value="root"/>
                <property name="password" value="112233"/>
            </dataSource>
        </environment>
    </environments>
    


    <!-- 配置数据库厂商标识 可省略 -->
    <databaseIdProvider type="DB_VENDOR">
        <property name="MySQL" value="mysql"/>
    </databaseIdProvider>

    <!-- 配置sql映射 -->
    <mappers>
          <mapper resource="com/xjj/mybatis/mapper/user.xml"></mapper>
    </mappers>
    
</configuration>


②.新建一个实体类的映射文件,user.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">
<!-- 配置对应的映射 -->
 <mapper namespace="com.xjj.mybatis.entity.User">

    <!-- 通过id查询   resultType="user" 因为之前已经命名过别名了  -->
    <select id="getUserInfoById" parameterType="int" resultType="com.xjj.mybatis.entity.User">
          select * from userInfo where id = #{id}
    </select>

    <!--parameterType="User"是在mybatis_config.xmltypeAliases定义的别名-->
     <insert id="insertUser" parameterType="User" statementType="PREPARED"
             keyProperty="id" useGeneratedKeys="true">
           insert into userInfo (username,password) values (#{username},#{password})
     </insert>

       <update id="updateUser" parameterType="User">
           update userInfo set username=#{username},password=#{password} where id=#{id}
       </update>

       <delete id="deleteUser" parameterType="int">
           delete from userInfo where id = #{id}
       </delete>

 </mapper>

4.新建一个实体类User,属性与数据库的属性一致。
public class User {
    //id
    private Integer id;
    /**
     *用户名
     */
    private String username;

    /**
     *密码
     */
    private String password;

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public User() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer 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;
    }
}

5.新建一个测试类,测试对数据库的增删改查,代码如下:
public class TestSql {

    public static void main(String[] args){
        String resources = "com/xjj/mybatis/mapper/mybatis_config.xml";
        Reader reader = null;
        SqlSession session;

        try {
            reader = Resources.getResourceAsReader(resources);
        } catch (IOException e) {
            e.printStackTrace();
        }

        SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
        session = sqlMapper.openSession();
        try{
       //1.查询第号为1的用户信息。
        User user = session.selectOne("getUserInfoById",1);
        System.out.println("用户名:"+user.getUsername()+",密码:"+user.getPassword());

        //2.插入
        User user1 = new User();
        user1.setUsername("xjj");
        user1.setPassword("123");
        //第一个参数是在映射文件定义的sqlid,第二个是对象
        session.insert("insertUser",user1);
        session.commit();
        System.out.println("插入成功!!");

        //修改id2的信息
        User user2 = new User();
        user2.setUsername("小许");
        user2.setPassword("666");
        user2.setId(2);
        session.update("updateUser",user2);
        session.commit();
       
        //删除
        session.delete("deleteUser",1);
        session.commit();
        System.out.println("删除成功");
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            session.close();
        }

    }
}
6.在mysql新建一个数据库spring_test,新建一个表userInfo
           

 7.整个项目的结构图:
             
  8.总结:刚开始学,希期待以后进一步深入了解。

      

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值