之前做了简单的查询数据,现在进行我们的插入数据,向数据库插入数据,数据库的名字就自己取啦,我的建表数据和数据,仅作参考。
一、数据库文件
1、建表数据
-- ----------------------------
-- Table structure for allusers
-- ----------------------------
DROP TABLE IF EXISTS `allusers`;
CREATE TABLE `allusers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`password` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`phone` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
2、插入数据
-- Records of allusers
-- ----------------------------
INSERT INTO `allusers` VALUES (1, '柠檬', '123456', '女', '重庆', '12345678901');
INSERT INTO `allusers` VALUES (2, '菜菜', 'qwertyu', '女', '梁平', '1234567890987');
INSERT INTO `allusers` VALUES (3, '布丁', '1234567', '男', '石柱', '11234asdf');
INSERT INTO `allusers` VALUES (4, '杨洋', 'wyx', '男', '北京', '1234567');
二、插入数据的操作步骤
1、在UserMapper的接口中定义我们要实现的方法:
括号里面指的是我们要传入的参数,int指的是我们插入数据之后,返回值的类型
//定义一个addUser方法,传入的参数形式是User,返回的值是一个int,一般就是我们的操作数据库之后,影响的行数
int addUser(User user);
2、在XML文件中定义我们的相关操作,主要是我们的SQL语句,特别注意,我们的id一定要和方法名对应
获取我们的值,就是用#{属性名}这个形式来获取
<!--id:前面定义的方法
parameterType:我们传入的参数
-->
<insert id="addUser" parameterType="user">
insert into allusers(username, password, sex, address, phone)
values (#{username}, #{password}, #{sex}, #{address}, #{phone})
</insert>
三、测试
1、编写测试类,代码如下:
//注解表明这是一个测试类
@Test
public void testaddAll() {
//实例化一个User对象
User user = new User();
//之前设置过可以进行链式编程,所以直接链式设置数据
User user1 = user.setUsername("杨洋1").setPassword("wyx").setSex("男").setAddress("北京").setPhone("1234567");
//调用usermapper中的addUser方法,传入的参数是user1
int i = userMapperr.addUser(user1);
//判断我们得到的值是不是1,是的话,就输入插入数据成功
if (i == 1) {
System.out.println("插入数据成功");
}
}
2、结果对比
插入前:
插入数据后
至此,我们的数据插入就成功啦