天天看点

spring jdbc开发

1、jdbcTemplate的配置

我们在特定的文件夹下写我们的DB.properties文件来记录我们在连接数据库的时候要使用的常量

下面是我的数据DB.properties文件内容

mysql_driver=com.mysql.cj.jdbc.Driver//我使用的驱动器
mysql_url=jdbc:mysql://localhost:3307/xthotel?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
//我的数据库地址另外还有后买你的与符号连接的内容有时要加上
mysql_username=root//用户名
mysql_passwd=root//密码
           

写好我们的DB文件后记得在xml文件中将它引进来

<context:property-placeholder location="config/DB.properties"/>//将我们的文件夹下的DB问价引进来
           

xml使用bean标签来配置基本属性

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">//class的内容是固定的我们要对它里面的内容进行初始化
		//引入之后我们使用${}来进行调用DB文件中的值进行初始化
		//注意初始化的时候我们使用的是value而不是ref,注意两者的区别
		<property name="driverClassName" value="${mysql_driver}"></property>
		<property name="url" value="${mysql_url}"></property>
		<property name="username" value="${mysql_username}"></property>
		//这里在使用${}时中间的内容不要使user_name容易和系统中的user_name想重复
		<property name="password" value="${mysql_passwd}"></property>
	</bean>
	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" value="#{dataSource}"></property>
		//使用el表达式来进行初始化操作
	</bean>
           

2、在java的Dao层引用jdbcTemplete

//此段代码是在Dao的实现类中写的
//原因是我们在使用自动装配的时候我们只能针对接口实现类
//因为要扫包所以我们在xml中还要添加<context:component-scan base-package="com.zzxtit.spring.jdbc"></context:component-scan>


@Repository
public class UserDaoImpl implements UserDao{

	@Autowired
	private JdbcTemplate jdbcTemplate;
	}
           

3、向数据库中插入相关数据

//此段代码我们也是在Dao接口的实现类中写的
public void insertUserInfo(SysUserInfo su) {
		String sql="insert into t_sys_user (user_name, passwd, salt, real_name, avatar, phone, email, gender, create_time) "
				+ "values (?, ?, ?, ?, ?, ?, ?, ?, now())";
		
		jdbcTemplate.update(sql, su.getUserName(), su.getPasswd(), su.getSalt(),
				su.getRealName(), su.getAvatar(), su.getPhone(), 
				su.getEmail(), su.getGender());
	}//调用jdbcTemplate来实现信息的更新


	public SysUserInfo getSysUserById(int userId) {
		String sql = "select * from t_sys_user where user_id = ?";
		List<SysUserInfo> suList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<SysUserInfo>(SysUserInfo.class), userId);//默认返回的是一个List类型
		//System是我们方便存储信息用的学生信息bean
		if(suList != null && suList.size() > 0) {
			return suList.get(0);
		}else {
			return null;
		}//实现信息的查询
           

4、主函数的测验过程

public static void main(String[] args) {
		
		ApplicationContext ioc = new ClassPathXmlApplicationContext("config/applicationContext-jdbc.xml");
		
		UserDao ud = ioc.getBean(UserDao.class);
		
		
		SysUserInfo su = ud.getSysUserById(1);
		
		su.setUserName("lixueba");
		
		ud.insertUserInfo(su);
		System.out.println("---------------->" + su);
	}
           

6、细节实现

在javabean 中使用@Data的注解可以帮助我们实现get set 方法

但是我们要在pom中将我们的jar包引用过来

在我们pom中加入

org.progectlombok

lombok

provide

继续阅读