avax.servlet.ServletRegistration; 导入org.springframework.web.WebApplicationInitializer; 导入org.springframework.web.context.support.AnnotationConfigWebApplicationContext; 导入org.springframework.web.servlet.DispatcherServlet; 公共类AppInitializer实现WebApplicationInitializer{ 启动时公共void(ServletContext容器)引发ServletException{ AnnotationConfigWebApplicationContext ctx=新的AnnotationConfigWebApplicationContext(); 寄存器(AppConfig.class); ctx.setServletContext(容器); ServletRegistration.DynamicServlet=container.addServlet( “调度员”,新的DispatcherServlet(ctx)); setLoadOnStartup(1); servlet.addMapping(“/”); } } 包com.websirmbano.springmvc.configuration; 导入java.util.Properties; 导入javax.sql.DataSource; 导入org.hibernate.SessionFactory; 导入org.springframework.beans.factory.annotation.Autowired; 导入org.springframework.context.annotation.Bean; 导入org.springframework.context.annotation.ComponentScan; 导入org.springframework.context.annotation.Configuration; 导入org.springframework.context.annotation.PropertySource; 导入org.springframework.core.env.Environment; 导入org.springframework.jdbc.datasource.driverManager数据源; 导入org.springframework.orm.hibernate4.HibernateTemplate; 导入org.springframework.orm.hibernate4.HibernateTransactionManager; 导入org.springframework.orm.hibernate4.LocalSessionFactoryBean; 导入org.springframework.transaction.annotation.EnableTransactionManagement; @配置 @启用事务管理 @组件扫描({“com.websirmbano.springmvc.configuration”}) @PropertySource(值={“classpath:application.properties”}) 公共类HibernateConfiguration{ @自动连线 私人环境; @豆子 公共HibernateTemplate HibernateTemplate(){ 返回新的HibernateTemplate((SessionFactory)SessionFactory()); } @豆子 公共LocalSessionFactoryBean sessionFactory(){ LocalSessionFactoryBean sessionFactory=新的LocalSessionFactoryBean(); setDataSource(dataSource()); sessionFactory.setPackagesToScan(新字符串[]{“com.websirmbano.springmvc.model”}); setHibernateProperties(hibernateProperties()); 返回工厂; } @豆子 公共数据源数据源(){ DriverManager数据源dataSource=新的DriverManager数据源(); setDriverClassName(environment.getRequiredProperty(“jdbc.driverClassName”)); setUrl(environment.getRequiredProperty(“jdbc.url”); setUsername(environment.getRequiredProperty(“jdbc.username”); setPassword(environment.getRequiredProperty(“jdbc.password”); 返回数据源; } 私有属性hibernateProperties(){ 属性=新属性(); properties.put(“hibernate.dial”,environment.getRequiredProperty(“hibernate.dial”); properties.put(“hibernate.show_sql”,environment.getRequiredProperty(“hibernate.show_sql”); properties.put(“hibernate.format_-sql”,environment.getRequiredProperty(“hibernate.format_-sql”); 归还财产; } @豆子 @自动连线 公共HibernateTransactionManager事务管理器(会话工厂s){ HibernateTransactionManager txManager=新的HibernateTransactionManager(); txManager.setSessionFactory(多个); 返回txManager; } } 我哪里弄错了 当做 里昂
@enableJParepositions(“com.websirmbano.springmvc.dao”)位于HibernateConfiguration类中。异常状态表示catalina找不到dao接口。你确定它在路上吗?avax.servlet.ServletRegistration; 导入org.springframework.web.WebApplicationInitializer; 导入org.springframework.web.context.support.AnnotationConfigWebApplicationContext; 导入org.springframework.web.servlet.DispatcherServlet; 公共类AppInitializer实现WebApplicationInitializer{ 启动时公共void(ServletContext容器)引发ServletException{ AnnotationConfigWebApplicationContext ctx=新的AnnotationConfigWebApplicationContext(); 寄存器(AppConfig.class); ctx.setServletContext(容器); ServletRegistration.DynamicServlet=container.addServlet( “调度员”,新的DispatcherServlet(ctx)); setLoadOnStartup(1); servlet.addMapping(“/”); } } 包com.websirmbano.springmvc.configuration; 导入java.util.Properties; 导入javax.sql.DataSource; 导入org.hibernate.SessionFactory; 导入org.springframework.beans.factory.annotation.Autowired; 导入org.springframework.context.annotation.Bean; 导入org.springframework.context.annotation.ComponentScan; 导入org.springframework.context.annotation.Configuration; 导入org.springframework.context.annotation.PropertySource; 导入org.springframework.core.env.Environment; 导入org.springframework.jdbc.datasource.driverManager数据源; 导入org.springframework.orm.hibernate4.HibernateTemplate; 导入org.springframework.orm.hibernate4.HibernateTransactionManager; 导入org.springframework.orm.hibernate4.LocalSessionFactoryBean; 导入org.springframework.transaction.annotation.EnableTransactionManagement; @配置 @启用事务管理 @组件扫描({“com.websirmbano.springmvc.configuration”}) @PropertySource(值={“classpath:application.properties”}) 公共类HibernateConfiguration{ @自动连线 私人环境; @豆子 公共HibernateTemplate HibernateTemplate(){ 返回新的HibernateTemplate((SessionFactory)SessionFactory()); } @豆子 公共LocalSessionFactoryBean sessionFactory(){ LocalSessionFactoryBean sessionFactory=新的LocalSessionFactoryBean(); setDataSource(dataSource()); sessionFactory.setPackagesToScan(新字符串[]{“com.websirmbano.springmvc.model”}); setHibernateProperties(hibernateProperties()); 返回工厂; } @豆子 公共数据源数据源(){ DriverManager数据源dataSource=新的DriverManager数据源(); setDriverClassName(environment.getRequiredProperty(“jdbc.driverClassName”)); setUrl(environment.getRequiredProperty(“jdbc.url”); setUsername(environment.getRequiredProperty(“jdbc.username”); setPassword(environment.getRequiredProperty(“jdbc.password”); 返回数据源; } 私有属性hibernateProperties(){ 属性=新属性(); properties.put(“hibernate.dial”,environment.getRequiredProperty(“hibernate.dial”); properties.put(“hibernate.show_sql”,environment.getRequiredProperty(“hibernate.show_sql”); properties.put(“hibernate.format_-sql”,environment.getRequiredProperty(“hibernate.format_-sql”); 归还财产; } @豆子 @自动连线 公共HibernateTransactionManager事务管理器(会话工厂s){ HibernateTransactionManager txManager=新的HibernateTransactionManager(); txManager.setSessionFactory(多个); 返回txManager; } } 我哪里弄错了 当做 里昂,java,hibernate,hibernate-mapping,Java,Hibernate,Hibernate Mapping,@enableJParepositions(“com.websirmbano.springmvc.dao”)位于HibernateConfiguration类中。异常状态表示catalina找不到dao接口。你确定它在路上吗? /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templ
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.websirmbano.springmvc.dao;
import com.websirmbano.springmvc.model.Tblpatients;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate4.HibernateTemplate;
import org.springframework.stereotype.Repository;
/**
*
* @author SYSTEMS DEVELOPER ML
*/
@Repository
public class OIPatientDaoImpl implements OipatientDao {
@Autowired
private HibernateTemplate hibernateTemplate;
@Override
public Tblpatients getOIPatientById(String patientId ) {
return hibernateTemplate.get(Tblpatients.class, patientId);
}
@SuppressWarnings("unchecked")
@Override
public List<Tblpatients> findAllOIPatients() {
String hql = "FROM Tblpatients as p ORDER BY p.patientId";
return (List<Tblpatients>) hibernateTemplate.find(hql);
}
@Override
public void addOIPatient(Tblpatients patient) {
hibernateTemplate.save(patient);
}
@Override
public void updateOIPatient(Tblpatients patient) {
Tblpatients p = getOIPatientById(patient.getPatientId());
p.setFirstName(patient.getFirstName());
p.setSurName(patient.getSurName());
p.setSex(patient.getSex());
p.setDateOfBirth(patient.getDateOfBirth());
p.setDateOfDeath(patient.getDateOfDeath());
hibernateTemplate.update(p);
}
@Override
public void deleteOIPatientById(String patientId) {
hibernateTemplate.delete(getOIPatientById(patientId));
}
@Override
public List findOIPatientByParameter(String patientId, String firstName, String surName,String nationalId){
String queryPatient="SELECT * from Tblpatients where 1 = Case when '" + patientId + "'='' Then 1 when patientId = '" + patientId + "' AND 1 = Case when '" + nationalId + "'='' Then 1 when nationalId = '" + nationalId + "' AND 1= Case when '" + firstName + "'='' Then 1 when firstName = '" + firstName + "' AND 1 = Case when '" + surName + "'='' Then 1 when surName = '" + surName + "'";
SQLQuery sqlQuery =hibernateTemplate.getSessionFactory().openSession().createSQLQuery(queryPatient);
List result = sqlQuery.list();
return result;
}
@SuppressWarnings("unchecked")
@Override
public boolean OIPatientExists(String patientId) {
String hql = "FROM Tblpatients as p WHERE p.patientId = ?";
List<Tblpatients> patient = (List<Tblpatients>) hibernateTemplate.find(hql, patientId);
return patient.size() > 0 ? true : false;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.websirmbano.springmvc.dao;
import com.websirmbano.springmvc.model.Tblpatients;
import java.util.List;
/**
*
* @author SYSTEMS DEVELOPER ML
*/
public interface OipatientDao {
Tblpatients getOIPatientById(String patientId);
void addOIPatient(Tblpatients patient);
void updateOIPatient(Tblpatients patient);
void deleteOIPatientById(String patientId);
List<Tblpatients> findAllOIPatients();
List findOIPatientByParameter(String patientId, String firstName, String surName,String nationalId);
boolean OIPatientExists(String patientId);
}
and my configuration files are as follows
package com.websirmbano.springmvc.configuration;
import java.util.Locale;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ResourceBundleMessageSource;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.i18n.CookieLocaleResolver;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.websirmbano.springmvc")
public class AppConfig {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename("messages");
return messageSource;
}
@Bean
public LocaleResolver localeResolver(){
CookieLocaleResolver resolver = new CookieLocaleResolver();
resolver.setDefaultLocale(new Locale("en"));
resolver.setCookieName("myLocaleCookie");
resolver.setCookieMaxAge(4800);
return resolver;
}
}
package com.websirmbano.springmvc.configuration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
public class AppInitializer implements WebApplicationInitializer {
public void onStartup(ServletContext container) throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(AppConfig.class);
ctx.setServletContext(container);
ServletRegistration.Dynamic servlet = container.addServlet(
"dispatcher", new DispatcherServlet(ctx));
servlet.setLoadOnStartup(1);
servlet.addMapping("/");
}
}
package com.websirmbano.springmvc.configuration;
import java.util.Properties;
import javax.sql.DataSource;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.hibernate4.HibernateTemplate;
import org.springframework.orm.hibernate4.HibernateTransactionManager;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
@ComponentScan({ "com.websirmbano.springmvc.configuration" })
@PropertySource(value = { "classpath:application.properties" })
public class HibernateConfiguration {
@Autowired
private Environment environment;
@Bean
public HibernateTemplate hibernateTemplate() {
return new HibernateTemplate((SessionFactory) sessionFactory());
}
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setDataSource(dataSource());
sessionFactory.setPackagesToScan(new String[] { "com.websirmbano.springmvc.model" });
sessionFactory.setHibernateProperties(hibernateProperties());
return sessionFactory;
}
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(environment.getRequiredProperty("jdbc.driverClassName"));
dataSource.setUrl(environment.getRequiredProperty("jdbc.url"));
dataSource.setUsername(environment.getRequiredProperty("jdbc.username"));
dataSource.setPassword(environment.getRequiredProperty("jdbc.password"));
return dataSource;
}
private Properties hibernateProperties() {
Properties properties = new Properties();
properties.put("hibernate.dialect", environment.getRequiredProperty("hibernate.dialect"));
properties.put("hibernate.show_sql", environment.getRequiredProperty("hibernate.show_sql"));
properties.put("hibernate.format_sql", environment.getRequiredProperty("hibernate.format_sql"));
return properties;
}
@Bean
@Autowired
public HibernateTransactionManager transactionManager(SessionFactory s) {
HibernateTransactionManager txManager = new HibernateTransactionManager();
txManager.setSessionFactory(s);
return txManager;
}
}
where am i getting it wrong
regards
leon